Fermer

mars 17, 2021

Premiers pas avec les notifications locales Xamarin Forms


Familiarisez-vous avec les notifications locales, les alertes envoyées par les applications installées sur notre appareil mobile sans avoir besoin d'un serveur back-end pour les pousser.

Vous est-il déjà arrivé que c'était l'un des anniversaires de votre meilleur ami mais que vous oublié parce que personne et rien ne vous a rappelé? Oui, moi aussi, 🙈 et cela peut être ennuyeux.

Mais que se passerait-il si vous pouviez noter ces rappels importants sur votre téléphone portable et que cela pourrait apparaître un rappel au bon jour et à l’heure appropriée, vous évitant d’avoir des problèmes parce vous avez oublié cette date importante! 😎 En tant que développeurs, nous appelons ceci: Notifications locales et dans cet article, nous allons apprendre comment les implémenter!

Tout d'abord… Que dois-je savoir? 🤔

✔ Vous devez ajouter à partir du NuGet Package : Xam.Notifier.Plugin .

 Xam.Notifier.Plugin Plugin multiplateforme pour afficher les notifications locales

Support de plate-forme

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

Commençons!

✔ Que sont les notifications locales?

Les notifications locales sont des alertes envoyées par des applications installées sur notre appareil mobile sans avoir besoin d'un retour -end pour les pousser (d'où le mot local) et sont souvent utilisés pour des fonctionnalités telles que: événements de calendrier rappels et déclencheurs basés sur la localisation . [19659021] Voyons comment ils sont utilisés

CrossLocalNotifications est une classe qui nous permet d'afficher ou d'annuler les notifications de notre appareil. Pour utiliser cette classe, nous devons appeler la bibliothèque Plugin.LocalNotifications et elle a les méthodes abstraites suivantes:

CrossLocalNotifications.Current.Show: Cela nous permet d'afficher une notification dans notre appareil et reçoit les paramètres suivants:

Title C'est le titre indiqué dans la notification. string
Body C'est le corps du message qui aura la notification. [19659026] string
ID C'est l'ID avec lequel nous pouvons identifier la notification pour les opérations futures. ( Par exemple: Si vous souhaitez les annuler). string
Temps de notification C'est l'heure à laquelle la notification sera publiée . DateTime

En les appliquant dans le code, nous obtiendrions un résultat comme celui-ci:

 CrossLocalNotifications.Current.Show ("Notifications locales", "Howdy! Ceci est un test de notification locale." , 0, DateTime.Now.AddSeconds (5));

CrossLocalNotifications.Current.Cancel: Cela nous permet d'annuler une notification envoyée. Reçoit l'ID de notification que nous avons ajouté lors de la création d'une notification.

 CrossLocalNotifications.Current.Cancel (0);

Une fois qu'une notification est implémentée, vous devriez voir quelque chose comme ceci:

 Structure de notification: icône, titre, corps.

🔧 Paramètres de la plate-forme

📘 Windows et Windows Phone 8.1

➖ Dans le fichier .appmanifest définissez la propriété «Toast capable» sur «Yes» . Cette action vous permet d'activer les notifications.

📗 Android

➖ Vous n'avez pas besoin de paramètre supplémentaire. Tenez simplement compte du fait que lorsque le téléphone est redémarré, aucune notification en attente n'est envoyée. Si vous souhaitez les renvoyer, vous devez les enregistrer dans les paramètres et les renvoyer.

📒 iOS

Sur iOS 8.0+
Pour afficher un fichier local notification sur iOS 8.0 vous devez obtenir une autorisation. Pour ce faire, incluez le code suivant dans la méthode FinishedLaunching () de AppDelegate :

  if   ( UIDevice .  ] CurrentDevice .  CheckSystemVersion  ( 10   0 ) ) 
 {
        
        UNUserNotificationCenter .  Current .  RequestAuthorization  (
        UNAuthorizationOptions .  Alert  |  UNAuthorizationOptions .  Badge  |  UNAuthorizationOptions .  Sound 
         ([Sound
         approuvé  erreur )   = >   { } ) ; 
} 
 else   if   ( UIDevice .  CurrentDevice .  CheckSystemVersion  ( 8   0 ) ) [19659063] {
        
         var  settings  =  UIUserNotificationSettings .  GetSettingsForTypes  (
        UIUserNotificationType .  Alert  |  UIUserNotificationType .  Badge  |  UIUserNotificationType .  Sound  new, 
             new 19659089] NSSet  () ) ; 
        UIApplication .  SharedApplication .  RegisterUserNotificationSettings  ( settings ) ; 
} 

Sur iOS 10.0+

Sur iOS 10.0+, afin de spécifier comment les notifications sont gérées lorsque l'application est active, vous devez créer une classe déléguée qui sous-classe UNUserNotificationCenterDelegate et attribuez-le au UNUserNotificationCenter .

  using  UserNotifications ; 

 namespace  LocalNotifications .  iOS .  Notifications
 {
    classe publique     UserNotificationCenterDelegate  :  UNUserNotificationCenterDelegate
    {
       public   UserNotificationCenterDelegate  () 
       {
      } 
   } 
} 

🔆 Icône de notification sur Android

Si vous le souhaitez pour ajouter une icône à votre notification, ajoutez simplement la ligne de code suivante à votre MainActivity dans la méthode OnCreate :

 LocalNotificationsImplementation.NotificationIconId = Resource.Drawable.YOUR_ICON_NAME;

C'est tout pour aujourd'hui! J'espère que cet article vous sera utile.

Merci d'avoir lu! 💚

Références: https://github.com/edsnider/localnotificationsplugin




Source link