Skip to content

vallgrenerik/LocalNotificationsPlugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Notifications Plugin for Xamarin and Windows

NuGet

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

Setup

Platform Support

Platform Supported Version
Xamarin.iOS Yes iOS 7+
Xamarin.Android Yes API 10+
Windows Phone (Silverlight) Yes 8.1+
Windows Phone (WinRT) Yes 8.1+
Windows Store (WinRT) Yes 8.1+
Windows (UWP) Yes 10+
Xamarin.Mac No

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 = Resrouce.Drawable.YOU_ICON_HERE

Contributors

License

Licensed under MIT see License file

About

Local Notifications Plugin for Xamarin and Windows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%