Fermer

février 22, 2021

Comment utiliser les notifications push dans les formulaires Xamarin


Apprenons à implémenter des notifications push à l'aide de Xamarin Forms.

Lorsque nous envisageons de créer une application, l'un des éléments les plus importants à prendre en compte est de fournir la meilleure expérience utilisateur possible.

Une partie de cette expérience est constituée de fonctionnalités qui tiennent l'utilisateur aussi informé que possible.

C'est ici que les notifications entrent en jeu! De nos jours, la plupart des applications envoient des notifications pour tenir les utilisateurs informés de manière constante, rapide et précise. C'est pourquoi, dans cet article, nous allons apprendre à mettre en œuvre les notifications push! 😎

Tout d'abord… De quoi ai-je besoin?

➖ Ajouter à partir de NuGet Package FirebasePushNotification .

Configuration de l'environnement Firebase

Tout d'abord, il est important de savoir ce qu'est Firebase. Firebase est une plateforme pour le développement rapide d'applications Web et mobiles. Il fait partie de la plate-forme Google Cloud et contient un ensemble d'outils particulièrement utiles pour les projets Web / mobiles courants et simples, notamment des outils tels que: l'authentification, la base de données en temps réel, les analyses, les notifications push et bien d'autres!

Et maintenant, créons le Projet

Une fois le projet créé, sélectionnons notre projet de plateforme. (Nous devons en créer un pour Android et iOS.) Vous exécuterez ce processus en quatre étapes:

Enregistrez votre application.

[19659004] ✔ Téléchargez le fichier de configuration: Ici, vous devez télécharger le fichier JSON qui sera ensuite ajouté à notre projet. (Sur Android, ce fichier s'appelle google-services.json, et sous iOS, il s'appelle GoogleService-Info.plist.)

Ajout du SDK Firebase: Cette étape concerne Android projets. Comme vous utilisez Xamarin Forms, vous n'êtes pas obligé de le faire. Cliquez simplement sur Suivant.

Créez votre application. Cette dernière étape prendra du temps. (Vous pouvez cliquer sur Ignorer.)

Commençons avec Android! 😎

Pour Android, nous devons ajouter une autorisation Internet. Pour ce faire, vous devez ouvrir votre AndroidManifest.xml et avant votre balise Applications, ajoutez le code suivant:


Ajout du fichier google-services.json

Lorsque nous avons créé le projet Firebase, dans la deuxième étape nous avons téléchargé un Fichier JSON – vous souvenez-vous? Oui! D'accord, vous devez ajouter ce fichier dans votre projet Android.

Une fois ajouté, faites un clic droit et sélectionnez BuildAction et assurez-vous de définir GoogleServiceJson comme valeur.

⚠ Si vous ne trouvez pas cette valeur, il vous suffit de nettoyer et de reconstruire votre projet et de revenir pour le trouver!

Création de la classe MainApplication

Nous créons cette classe pour initialiser le plugin en premier, en ajoutant ce qui suit bibliothèques:

 utilisant  System ; 
 using  Android .  App ; 
 using  Android .  OS ; 
 avec  Android .  Runtime ; 
 using  Plugin .  FirebasePushNotification ; 

Et puis, ajoutez ce code:

 [ Application ] 
     public   class   MainApplication  :  Application
     {
         public   MainApplication  ( IntPtr handle  JniHandleOwnership transer )  :  base  ( handle  transer ) 
         {
        } 

         public   override   void   OnCreate  () 
         {[19659050] base .  OnCreate  () ; 
	    
	       
	       if   ( Build .  VERSION .  SdkInt > =  Android .  OS .  BuildVersionCodes .  O ) 
	       {

FirebasePushNotificationManager .  DefaultNotificationChannelId  =   "FirebasePushNotificationChannel" ; 


FirebasePushNotificationManager .  DefaultNotificationChannelName  =   "General" ; 
	    } 
 
            
             #  if  DEBUG 
              FirebasePushNotificationManager .  Initialisez  ( this  true ) ; 
             #  else 
               FirebasePushNotificationManager . [19659052] Initialiser  ( this  false ) ; 
             #  endif 

              
               CrossFirebasePushNotification .  Current  .  OnNotificationReceived  +  =   ( s  p )   = > 
              { 
              } [19659037];  
         } 
    } 

Travailler avec MainActivity

Ouvrez votre MainActivity, et dans la méthode OnCreate, ajoutez la ligne de code ci-dessous, contenue dans la bibliothèque Plugin.FirebasePushNotification :

 FirebasePushNotificationManager .  ProcessIntent  ( this  Intent ) ; 

Continuons avec iOS! 😎

Ajout du fichier GoogleService-Info.plist

Ajoutons le fichier GoogleService-Info.plist créé par Firebase dans votre projet iOS.

Une fois ajouté, faites un clic droit et sélectionnez BuildAction et assurez-vous de définir BundleResource comme valeur.

Activation du mode d'arrière-plan de notification à distance

Dans votre Info.plist, sélectionnez: Modes d'arrière-plan -> Vérifier les modes d'arrière-plan activés -> Vérifier les notifications à distance .

Ensuite, ajoutez FirebaseAppDelegateProxyEnabled dans le fichier Info.plist de l'application et définissez-le sur Non comme valeur.

Before LoadApplication, add FirebasePushNotificationManager.Initialize on AppDelegate FinishedLaunching.

 FirebasePushNotificationManager .  Initialize  ( options  true ); 

Toujours dans AppDelegate, remplacez la méthode suivante ods:

 public   override   void   RegisteredForRemoteNotifications  ( UIApplication application  NSData deviceToken ) 
         {
              FirebasePushNotificationManager .  DidRegisterRemoteNotifications  ( deviceToken ) ; 
        } 

         public   override   void [1965379036] FailedToRegotifications   FailedToRegotifications  Application UIApplication  Erreur NSError ) 
         {
            FirebasePushNotificationManager .  RemoteNotificationRegistrationFailed  ( error ) ; 

        } 
        
        
         public   override   void [1965903736] DidRoteceiveRemote  DidRoteceiveRemote  DidRoteceiveRemote  Application UIApplication  NSDictionary userInfo  Action  < UIBackgroundFetchResult >  completionHandler ) 
         {
            
            

            
            
            
            FirebasePushNotificationManager .  DidReceiveMessage  ( userInfo ) ; 
            
            System .  Console .  WriteLine  ( userInfo ) ; 
    
			 completionHandler   ( UIBackgroundFetchResult .  NewData ) ; 
        } 

Et maintenant, utilisons l'API Firebase Push Notification 😍

Ouvrez votre App.xaml.cs et dans le constructeur nous allons ajoutez les événements Token, PushMessageReceived et PushMessageOpened comme indiqué dans les lignes suivantes:

 public   App  () 
         {
             InitializeComponent  () ; 

            MainPage  =   nouveau   MainPage  () ; 

            
            CrossFirebasePushNotification .  Actuel .  OnTokenRefresh  +  =   ( s  p )   = [19659083]> 
             {
                Système .  Diagnostics .  Debug .  WriteLine  ( $  "TOKEN: {p.Token}" ) [19659037]; 
            } ; 
            
            CrossFirebasePushNotification .  Actuel .  OnNotificationReceived  +  =   ( s  p )   = [19659083]> 
             {

                System .  Diagnostics .  Debug .  WriteLine  ( "Received" ) ; 

            }  ; 
            
            CrossFirebasePushNotification .  Current .  OnNotificationOpened  +  =   ( s  p )   = [19659083]> 
             {
                System .  Diagnostics .  Debug .  WriteLine  ( "Opened" ) ; 
                 foreach   ( var  data  in  p .  Data ) 
                 {
                    Système .  Diagnostics .  Debug .  WriteLine  ( $  "{data.Key}: {data.Value}" [19659037]) ; 
                }  

            } ; 
        } 

Et c'est fait !! Nos notifications push sont implémentées! 😎


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/CrossGeeks/FirebasePushNotificationPlugin/blob/master/docs/GettingStarted.md




Source link