Shiny.Push.FirebaseMessaging 4.0.1

Prefix Reserved
dotnet add package Shiny.Push.FirebaseMessaging --version 4.0.1
                    
NuGet\Install-Package Shiny.Push.FirebaseMessaging -Version 4.0.1
                    
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="Shiny.Push.FirebaseMessaging" Version="4.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Shiny.Push.FirebaseMessaging" Version="4.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Shiny.Push.FirebaseMessaging" />
                    
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 Shiny.Push.FirebaseMessaging --version 4.0.1
                    
#r "nuget: Shiny.Push.FirebaseMessaging, 4.0.1"
                    
#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 Shiny.Push.FirebaseMessaging@4.0.1
                    
#: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=Shiny.Push.FirebaseMessaging&version=4.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Shiny.Push.FirebaseMessaging&version=4.0.1
                    
Install as a Cake Tool

Shiny Firebase

NuGet

Firebase Cloud Messaging (FCM) push notification support for .NET MAUI applications on iOS and Android, built on the Shiny framework.

Features

  • Firebase Cloud Messaging for iOS and Android
  • Embedded configuration via GoogleService-Info.plist / google-services.json
  • Manual configuration support
  • Topic subscription support (iOS)
  • Custom push delegate for handling notification events
  • Native iOS Firebase SDK 12.x via Slim Bindings

Installation

dotnet add package Shiny.Push.FirebaseMessaging

Setup

MauiProgram.cs

using Shiny;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseShiny();

        // Use embedded configuration (GoogleService-Info.plist / google-services.json)
        builder.Services.AddPushFirebaseMessaging();

        // OR manual configuration
        builder.Services.AddPushFirebaseMessaging(new FirebaseConfiguration(
            UseEmbeddedConfiguration: false,
            AppId: "your-app-id",
            SenderId: "your-sender-id",
            ProjectId: "your-project-id",
            ApiKey: "your-api-key"
        ));

        // With a custom push delegate
        builder.Services.AddPushFirebaseMessaging<MyPushDelegate>();

        return builder.Build();
    }
}

Platform Configuration

iOS

  1. Download GoogleService-Info.plist from the Firebase Console
  2. Add to your iOS project with Build Action set to BundleResource
  3. Enable Push Notifications capability in Entitlements.plist
  4. Enable Remote Notifications background mode

Android

  1. Download google-services.json from the Firebase Console
  2. Add to your Android project root

Configuration Options

Parameter Type Default Description
UseEmbeddedConfiguration bool true Use platform config files
AppId string? null Firebase App ID
SenderId string? null Firebase Sender ID
ProjectId string? null Firebase Project ID
ApiKey string? null Firebase API Key
DefaultChannel NotificationChannel? null Android only - default notification channel
IntentAction string? null Android only - custom intent action

Topic Subscriptions

The iOS implementation supports FCM topic subscriptions through IPushTagSupport:

if (push is IPushTagSupport tagSupport)
{
    await tagSupport.AddTag("news");
    await tagSupport.RemoveTag("promotions");
    await tagSupport.SetTags("news", "updates");
    await tagSupport.ClearTags();
}

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0-android36.0 is compatible.  net10.0-ios26.0 is compatible. 
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.0.1 34 3/28/2026
4.0.1-beta-0005 31 3/28/2026
4.0.0-beta-0040 745 6/14/2024
3.4.0-beta-0010 316 3/6/2025
3.4.0-beta-0009 203 2/5/2025
3.4.0-beta-0006 225 2/4/2025
3.4.0-beta-0005 200 2/4/2025
3.4.0-beta-0003 193 2/4/2025
3.3.4 8,611 1/15/2025
3.3.3 8,871 4/8/2024
3.3.3-beta-0007 231 4/8/2024
3.3.3-beta-0003 213 4/8/2024
3.3.2 414 3/26/2024
3.3.1 307 3/26/2024
3.3.0 422 3/18/2024
3.3.0-beta-0011 256 3/14/2024
3.3.0-beta-0009 289 3/12/2024
3.3.0-beta-0003 307 2/28/2024
3.2.4 1,113 2/3/2024
3.2.4-beta-0004 364 2/3/2024
Loading failed