Shiny.Push.FirebaseMessaging
v4.0.1-beta-0005Pre-release
net10.0-android36.0net10.0-ios26.0
Shiny Push Integration - Google Firebase Cloud Messaging
Published
Mar 28, 2026
6mo ago
Total Downloads
270.6K
270,644
Install
dotnet add package Shiny.Push.FirebaseMessaging --version 4.0.1-beta-0005
| Product | Versions |
|---|---|
| .NET |
README
Shiny Firebase
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
- Download
GoogleService-Info.plistfrom the Firebase Console - Add to your iOS project with Build Action set to
BundleResource - Enable Push Notifications capability in Entitlements.plist
- Enable Remote Notifications background mode
Android
- Download
google-services.jsonfrom the Firebase Console - 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
Changes from Previous Version
v4.0.0-beta-0040v4.0.1-beta-0005
Added Frameworks
net10.0-android36.0net10.0-ios26.0
Removed Frameworks
net8.0-android34.0net8.0-ios17.2
Added Dependencies
Shiny.Push(net10.0-android36.0)
Shiny.Firebase.Analytics.iOS.Binding(net10.0-ios26.0)
Shiny.Firebase.Messaging.iOS.Binding(net10.0-ios26.0)
Shiny.Push(net10.0-ios26.0)
Removed Dependencies
Shiny.Push(net8.0-android34.0)
Shiny.Firebase.Analytics.iOS.Binding(net8.0-ios17.2)
Shiny.Firebase.Messaging.iOS.Binding(net8.0-ios17.2)
Shiny.Push(net8.0-ios17.2)
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.