• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Local Notifications Plugin for Xamarin and Windows

Local Notifications Plugin for Xamarin and Windows

NuGet Build status

A consistent and easy way to show local notifications in Xamarin and Windows apps.

Setup

Platform Support

Platform Version
Xamarin.iOS 7.0+
Xamarin.Android 3.0+ (API 11+)
Xamarin.Mac 10.7+
Windows (UWP) 10.0+

API Usage

Call CrossLocalNotifications.Current from any project or PCL to gain access to APIs.

Display a local notification immediately

CrossLocalNotifications.Current.Show("title", "body");

Display a local notification at a scheduled date/time

CrossLocalNotifications.Current.Show("title", "body", 101, DateTime.Now.AddSeconds(5));

Cancel a local notification

CrossLocalNotifications.Current.Cancel(101);

Platform Specific Notes

Some platforms require certain permissions or settings before it will display notifications.

Windows and Windows Phone 8.1

You must enable notifications in the .appmanifest file by setting the "Toast capable" property to "Yes".

iOS 8.0+

You must get permission from the user to allow the app to show local notifications.

To do so, include the following code in the FinishedLaunching() method of AppDelegate:

if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
{
        // Ask the user for permission to get notifications on iOS 10.0+
        UNUserNotificationCenter.Current.RequestAuthorization(
                UNAuthorizationOptions.Alert | UNAuthorizationOptions.Badge | UNAuthorizationOptions.Sound,
                (approved, error) => { });
}
else if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0))
{
        // Ask the user for permission to get notifications on iOS 8.0+
        var settings = UIUserNotificationSettings.GetSettingsForTypes(
                UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound,
                new NSSet());

        UIApplication.SharedApplication.RegisterUserNotificationSettings(settings);
}

On iOS 10.0+ in order to specify how notifications are handled when the app is active you must create a delegate class that subclasses UNUserNotificationCenterDelegate and assign it to the UNUserNotificationCenter.

For more details see the sample included in this repository and check out Xamarin's iOS 10 UserNotifications framework documentation.

Android

Currently, if the phone is re-booted then the pending notifications are not sent, you should save them out to settings and re-send on re-boot.

Notification Icon on Android

You can set the notification Icon by setting the following property from inside your Android project:

LocalNotificationsImplementation.NotificationIconId = Resource.Drawable.YOU_ICON_HERE

Contributors

License

Licensed under MIT see License file