EnumPushNotifications 1.1.0

Send Push Notifications using Google's Firebase Cloud-Messaging framework using .NET Core.
This library is a thin HTTP REST wrapper around the legacy FCM HTTP API.

Install-Package EnumPushNotifications -Version 1.1.0
dotnet add package EnumPushNotifications --version 1.1.0
<PackageReference Include="EnumPushNotifications" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EnumPushNotifications --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

FCM Push Notifications for .NET Core 🚀

Send push notifications to Android, iOS and Web clients with this simple to use FCM .NET Core library.

Install via NuGet or .NET CLI 📥

NuGet:

PM> Install-Package EnumPushNotifications

.NET CLI:

dotnet add package EnumPushNotifications

How to use 🏃

  1. Use the library's IServiceCollection extension method AddFcmPushNotifications and provide it an instnace of IConfiguration like services.AddFcmPushNotifications(Configuration);

    Ensure that in appsettings.json you have a FcmCredentials valid JSON object defined with a 'server key' (make sure you use the legacy server key) and 'sender id' which you can get from your FCM Console project.

    Example appsettings.json file content with FcmCredentials setup:

    {
        "FcmCredentials": {
            "serverKey": "<put_your_FCM_legacy_server_key_here>",
            "senderId": "<put_your_FCM_sender_id_here>",
        }
    }
    
  2. Resolve an instance of IPushNotificationSender in your class to an example variable like IPushNotificationSender _pusher;

    If you are using constructor injection, then your C# constructor could look like this:

    public MyController(IPushNotificationsSender pusher)
    {
        _pusher = pusher;
    }
    
  3. Use the local _pusher variable you just resolved to call Push Notification methods like the following:

    await _pusher.PushMessageToDevice(new FcmPushNotification(title, body), deviceToken);
    

    The deviceToken variable provided to PushMessageToDevice method is a string value which represents a valid registration ID of a device registered for receiving push notifications.

If you are wondering how to setup your client devices then follow Google's instructions on: https://firebase.google.com/docs/cloud-messaging/

Setup platform specific push notification properties

You can find a detailed list of all available properties with descriptions on the official doucmentation page: https://firebase.google.com/docs/cloud-messaging/http-server-ref

Setup iOS specific properties:

var iosMsg = new FcmPushNotification(title, body)
{
    IOSBadge = 5,
    IOSSubtitle "Important news you should read!"
};

Setup Android specific properties:

var androidMsg = new FcmPushNotification(title, body)
{
    AndroidColor = "#rrggbb",
    AndroidOrWebIcon = "myicon",
    AndroidTag = "tag 123",
    AndroidChannelId = "MyChannel"
};

Useful links 🔗

  • https://stackoverflow.com/questions/37412963/send-push-to-android-by-c-sharp-using-fcm-firebase-cloud-messaging

  • https://stackoverflow.com/questions/38873523/how-to-send-notification-from-c-sharp-console-application

  • End-To-End solution with Android project in it: https://www.codeproject.com/Articles/1206069/Sending-Push-Notifications-to-Android-with-Csharp

  • Current Rest HTTP (lacks internet examples): https://firebase.google.com/docs/cloud-messaging/send-message

  • Legacy HTTP API that is used to implement the current version of the library (also is bragged and used around the interwebs with examples): https://firebase.google.com/docs/cloud-messaging/http-server-ref

FCM Push Notifications for .NET Core 🚀

Send push notifications to Android, iOS and Web clients with this simple to use FCM .NET Core library.

Install via NuGet or .NET CLI 📥

NuGet:

PM> Install-Package EnumPushNotifications

.NET CLI:

dotnet add package EnumPushNotifications

How to use 🏃

  1. Use the library's IServiceCollection extension method AddFcmPushNotifications and provide it an instnace of IConfiguration like services.AddFcmPushNotifications(Configuration);

    Ensure that in appsettings.json you have a FcmCredentials valid JSON object defined with a 'server key' (make sure you use the legacy server key) and 'sender id' which you can get from your FCM Console project.

    Example appsettings.json file content with FcmCredentials setup:

    {
        "FcmCredentials": {
            "serverKey": "<put_your_FCM_legacy_server_key_here>",
            "senderId": "<put_your_FCM_sender_id_here>",
        }
    }
    
  2. Resolve an instance of IPushNotificationSender in your class to an example variable like IPushNotificationSender _pusher;

    If you are using constructor injection, then your C# constructor could look like this:

    public MyController(IPushNotificationsSender pusher)
    {
        _pusher = pusher;
    }
    
  3. Use the local _pusher variable you just resolved to call Push Notification methods like the following:

    await _pusher.PushMessageToDevice(new FcmPushNotification(title, body), deviceToken);
    

    The deviceToken variable provided to PushMessageToDevice method is a string value which represents a valid registration ID of a device registered for receiving push notifications.

If you are wondering how to setup your client devices then follow Google's instructions on: https://firebase.google.com/docs/cloud-messaging/

Setup platform specific push notification properties

You can find a detailed list of all available properties with descriptions on the official doucmentation page: https://firebase.google.com/docs/cloud-messaging/http-server-ref

Setup iOS specific properties:

var iosMsg = new FcmPushNotification(title, body)
{
    IOSBadge = 5,
    IOSSubtitle "Important news you should read!"
};

Setup Android specific properties:

var androidMsg = new FcmPushNotification(title, body)
{
    AndroidColor = "#rrggbb",
    AndroidOrWebIcon = "myicon",
    AndroidTag = "tag 123",
    AndroidChannelId = "MyChannel"
};

Useful links 🔗

  • https://stackoverflow.com/questions/37412963/send-push-to-android-by-c-sharp-using-fcm-firebase-cloud-messaging

  • https://stackoverflow.com/questions/38873523/how-to-send-notification-from-c-sharp-console-application

  • End-To-End solution with Android project in it: https://www.codeproject.com/Articles/1206069/Sending-Push-Notifications-to-Android-with-Csharp

  • Current Rest HTTP (lacks internet examples): https://firebase.google.com/docs/cloud-messaging/send-message

  • Legacy HTTP API that is used to implement the current version of the library (also is bragged and used around the interwebs with examples): https://firebase.google.com/docs/cloud-messaging/http-server-ref

Release Notes

- Added additional and common push notification properties: collapse_key, priority, content_available, mutable_content - Added platform specific JSON payload properties:badge, subtitle, android_channel_id, tag, icon, color
- Changed the AdditionalData property of FcmPushNotification to dynamic type

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0 330 6/20/2018
1.0.2 264 6/17/2018
1.0.1 414 3/3/2018
0.0.5 289 2/27/2018
0.0.4 458 2/23/2018