Niobium.Platform.Notification.Firebase 3.4.29

There is a newer version of this package available.
See the version list below for details.
dotnet add package Niobium.Platform.Notification.Firebase --version 3.4.29
                    
NuGet\Install-Package Niobium.Platform.Notification.Firebase -Version 3.4.29
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Niobium.Platform.Notification.Firebase" Version="3.4.29" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Niobium.Platform.Notification.Firebase" Version="3.4.29" />
                    
Directory.Packages.props
<PackageReference Include="Niobium.Platform.Notification.Firebase" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Niobium.Platform.Notification.Firebase --version 3.4.29
                    
#r "nuget: Niobium.Platform.Notification.Firebase, 3.4.29"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Niobium.Platform.Notification.Firebase@3.4.29
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Niobium.Platform.Notification.Firebase&version=3.4.29
                    
Install as a Cake Addin
#tool nuget:?package=Niobium.Platform.Notification.Firebase&version=3.4.29
                    
Install as a Cake Tool

Niobium.Platform.Notification.Firebase

Niobium.Platform.Notification.Firebase provides a Firebase Cloud Messaging (FCM) push notification channel implementation for the Niobium notification framework. It enables .NET applications to send push notifications to Android devices using Google��s secure FCM infrastructure, supporting both data and notification payloads.

What is this project about?

  • Implements an FCM push notification channel for Niobium.Platform.Notification.
  • Supports both notification and data payloads for Android devices.
  • Handles OAuth2 authentication with Google using service account credentials.
  • Provides abstractions for credentials, notification payloads, and channel configuration.
  • Designed for extensibility and integration with Cod��s notification infrastructure.

Getting Started

1. Install the NuGet Package

Add the package to your .NET project:

dotnet add package Niobium.Platform.Notification.Firebase

2. Register the Firebase Push Notification Channel

In your DI setup, register your implementation of the Firebase push notification channel:

using Niobium.Platform.Notification.Firebase;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();
services.AddSingleton<FirebasePushNotificationChannel, MyFirebasePushNotificationChannel>();

Replace MyFirebasePushNotificationChannel with your own implementation that provides credentials and message formatting.

3. Configure Google Service Account Credentials

Implement the logic to provide your Google service account credentials:

public class MyFirebasePushNotificationChannel : FirebasePushNotificationChannel
{
    // ... constructor ...

    protected override Task<GoogleCredential> GetCredentialAsync(NotificationContext context)
    {
        // Load and return GoogleCredential from your service account JSON
    }

    protected override Task<ProjectScopeFirebaseMessage> GetMessageAsync(
        string brand, int templateID, NotificationContext context, IReadOnlyDictionary<string, object> parameters)
    {
        // Build and return ProjectScopeFirebaseMessage
    }
}

4. Send Push Notifications

Use the notification service to send push notifications:

var notificationService = serviceProvider.GetRequiredService<INotificationService>();
await notificationService.SendAsync(
    channel: "FirebasePush",
    parameters: new NotificationParameters { /* ... */ },
    cancellationToken);

5. Notification and Data Payloads

  • For notification payloads, set the Notification property in FirebaseMessage.
  • For data payloads, set the Data property in FirebaseMessage.

How Niobium.Platform.Notification.Firebase is Consumed

Consumer projects use Niobium.Platform.Notification.Firebase to:

  • Register and use Firebase push notification channels via DI.
  • Send transactional and workflow push notifications to Android devices.
  • Integrate FCM delivery into multi-channel notification workflows.

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with clear commit messages
  4. Submit a pull request

Please ensure your code follows the existing style and includes appropriate tests and documentation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.2.66 85 9/4/2026
4.0.60 90 8/30/2026
4.0.53 89 8/27/2026
4.0.42 122 7/18/2026
4.0.37 109 7/17/2026
4.0.35 103 7/17/2026
4.0.34 103 7/17/2026
4.0.33 107 7/16/2026
4.0.32 113 7/2/2026
3.4.30 211 12/22/2025
3.4.29 305 11/11/2025
3.4.28 192 11/2/2025
3.4.27 154 11/1/2025
3.4.26 147 11/1/2025
3.4.25 145 11/1/2025
3.4.24 178 10/31/2025
3.2.23 123 10/18/2025
3.2.22 172 10/17/2025
3.2.21 171 10/17/2025
3.2.20 212 10/14/2025
Loading failed