Intégrer Cloud Code pour les notifications push Parse
16 min
envoyer des notifications push parse en utilisant le cloud code introduction cette section explique comment vous pouvez envoyer des notifications push en utilisant le cloud code via back4app voici à quoi cela ressemblera à tout moment, vous pouvez accéder au projet android complet construit avec ce tutoriel sur notre dépôt github https //github com/back4app/android cloud code push prérequis pour compléter ce tutoriel, nous avons besoin de android studio https //developer android com/studio/index html une application créée sur back4app remarque suivez le tutoriel de nouvelle application parse https //www back4app com/docs/get started/new parse app pour apprendre à créer une application parse sur back4app une application android connectée à back4app remarque suivez le tutoriel d'installation du sdk parse https //www back4app com/docs/android/parse android sdk pour créer un projet android studio connecté à back4app suivez les étapes 1 à 5 de tutoriel de notification push back4app via le tableau de bord https //www back4app com/docs/android/push notifications/parse server push notifications attentivement pour configurer les notifications push pour votre application un appareil (ou appareil virtuel https //developer android com/studio/run/managing avds html ) fonctionnant avec le niveau d'api 27 ou supérieur 1 configurer android pour recevoir des notifications push chaque application parse installée sur un appareil enregistré pour les notifications push a un objet associé \<font color="#2166ae">installation\</font> l' \<font color="#2166ae">installation\</font> est l'endroit où vous stockez toutes les données nécessaires pour cibler les notifications push par exemple, dans votre application, vous pourriez stocker les équipes qui intéressent l'un de vos utilisateurs pour envoyer des mises à jour sur leurs performances enregistrer l' \<font color="#2166ae">installation\</font> est également nécessaire pour suivre les événements d'ouverture d'application liés aux push la manière la plus simple de commencer à envoyer des notifications est d'utiliser des canaux cela vous permet d'utiliser un modèle éditeur abonné pour envoyer des notifications push les appareils commencent par s'abonner à un ou plusieurs canaux, et les notifications peuvent ensuite être envoyées à ces abonnés les canaux auxquels un \<font color="#2166ae">installation\</font> donné s'abonne sont stockés dans le champ \<font color="#2166ae">canaux\</font> de l' \<font color="#2166ae">installation\</font> pour commencer à travailler avec les notifications push, les étapes suivantes sont requises si vous avez téléchargé notre modèle de projet https //github com/back4app/android cloud code push , n'oubliez pas de changer vos identifiants dans le \<font color="#2166ae">app/src/main/res/values/string xml\</font> fichier et le \<font color="#2166ae">gcmsenderid\</font> que vous avez obtenu sur firebase dans le \<font color="#2166ae">androidmanifest xml\</font> fichier importez les dépendances suivantes 1 // dépendances java 2 import java util arraylist ; 3 // dépendances parse 4 import com parse parse ; 5 import com parse parseinstallation ; 2\ initialisez parse avec \<font color="#2166ae">parse initialize(this)\</font> 3\ créez un nouveau tableau de canaux et mettez les canaux auxquels vous souhaitez vous abonner dans cet exemple, le \<font color="#2166ae">news\</font> canal est créé 4\ ajoutez à votre installation votre \<font color="#2166ae">gcmsenderid\</font> , obtenu à partir de la console firebase https //console firebase google com/?pli=1 , via la commande \<font color="#2166ae">installation put("gcmsenderid", "your firebase gcm sender id here")\</font> pour savoir comment vous pouvez obtenir cette clé, regardez étape 1 de le tutoriel des notifications push via le tableau de bord https //www back4app com/docs/android/push notifications/parse server push notifications 5\ ajoutez l' \<font color="#2166ae">objet channels\</font> à l' \<font color="#2166ae">installation\</font> via la commande \<font color="#2166ae">installation put("channels", channels)\</font> 6\ enregistrez l'installation dans votre base de données via \<font color="#2166ae">installation saveinbackground()\</font> le code suivant exécute ces étapes 1 parse initialize(this); 2 arraylist\<string> channels = new arraylist<>(); 3 channels add("news"); 4 parseinstallation installation = parseinstallation getcurrentinstallation(); 5 // don't forget to change the line below with the sender id you obtained at firebase 6 installation put("gcmsenderid", "your firebase gcm sender id here"); 7 installation put("channels", channels); 8 installation saveinbackground(); 2 créez votre cloud code pour en savoir plus sur la façon de commencer avec cloud code regardez le tutoriel cloud code pour android https //www back4app com/docs/get started/cloud functions créez un \<font color="#2166ae"> js\</font> fichier pour mettre votre cloud code dans cet exemple, un \<font color="#2166ae">main js\</font> fichier est créé définissez une fonction cloud, en utilisant \<font color="#2166ae">parse cloud define\</font> , pour appeler la notification push dans cet exemple, cette fonction est appelée \<font color="#2166ae">parse push send\</font> il est nécessaire d'utiliser la clé maître dans cette opération le code suivant exécute ces étapes parse server 3 x //main js 1 parse cloud define("pushsample", (request) => { 2 3 return parse push send({ 5 channels \["news"], 6 data { 7 title "hello from the cloud code", 8 alert "back4app rocks!", 9 } 10 }, { usemasterkey true }); 11 }); parse server 2 x //main js 1 parse cloud define("pushsample", function (request, response) { 2 parse push send({ 3 channels \["news"], 4 data { 5 title "hello from the cloud code", 6 alert "back4app rocks!", 7 } 8 }, { 9 success function () { 10 // push was successful 11 response success("push sent"); 12 console log("success push sent"); 13 }, 14 error function (error) { 15 // push was unsucessful 16 response error("error with push " + error); 17 console log("error " + error); 18 }, 19 usemasterkey true 20 }); 21 }); 3 télécharger vers cloud code allez à votre application sur site web back4app https //www back4app com/ et cliquez sur \<font color="#2166ae">tableau de bord\</font> trouvez le \<font color="#2166ae">code cloud\</font> et cliquez sur \<font color="#2166ae">fonctions et hébergement web\</font> cela ressemble à ceci 3\ téléchargez ou créez un nouveau fichier (vous pouvez également modifier le \<font color="#2166ae">main js\</font> fichier directement dans le navigateur) ensuite, cliquez sur \<font color="#2166ae">déployer\</font> comme montré ici 4 appeler le code cloud depuis l'application android importez les dépendances suivantes 1 // dépendances java 2 import java util hashmap ; // cela inclut l'objet hasmap que la fonction cloud 4 doit appeler 3 // dépendances parse 4 import com parse functioncallback ; 5 import com parse parsecloud ; 6 import com parse parseexception ; 2\ appelez le \<font color="#2166ae">parsecloud callfunctioninbackground\</font> sur la \<font color="#2166ae">pushsample\</font> fonction cloud 1 final hashmap\<string, string> params = new hashmap<>(); 2 // calling the cloud code function 3 parsecloud callfunctioninbackground("pushsample", params, new functioncallback\<object>() { 4 @override 5 public void done(object response, parseexception exc) { 6 if(exc == null) { 7 // the function was executed, but it's interesting to check its response 8 alertdisplayer("successful push","check on your phone the notifications to confirm!"); 9 } 10 else { 11 // something went wrong 12 toast maketext(mainactivity this, exc getmessage(), toast length long) show(); 13 } 14 } 15 }); le \<font color="#2166ae">alertdisplayer\</font> méthode utilisée dans l'exemple ci dessus est la suivante 1 private void alertdisplayer(string title ,string message ){ 2 alertdialog builder builder = newalertdialog builder (mainactivity this ) 3 settitle ( title ) 4 setmessage ( message ) 5 setpositivebutton ( "ok" , new dialoginterface onclicklistener () { 6 @override 7 public void onclick(dialoginterface dialog , int which ) { 8 dialog cancel (); 9 } 10 }); 11 alertdialog ok = builder create (); 12 ok show (); 13 } 3\ testez si les notifications push sont envoyées en appelant la fonction ci dessus pendant que l'appareil est ouvert 5 appeler le code cloud depuis l'api rest l'api rest fournit un moyen rapide et facile de tester si votre fonction cloud fonctionne utilisez simplement le code ci dessous dans votre terminal ou invite de commande cliquez sur pour en savoir plus sur la façon de commencer avec la ligne de commande dans linux https //www digitalocean com/community/tutorials/an introduction to the linux terminal , macos https //blog teamtreehouse com/introduction to the mac os x command line ou windows https //www bleepingcomputer com/tutorials/windows command prompt introduction/ curl x post h "x parse application id your app id here" \\ h "x parse rest api key your rest api key here" \\ h "content type application/json" \\ d '{ // mettez les paramètres de la fonction ici au format json }' \\ https //parseapi back4app com/functions/pushsample pour tester les notifications push, utilisez simplement le code rest pendant que l'appareil est ouvert c'est fait ! à ce stade, vous pouvez envoyer des notifications push en utilisant le cloud code via back4app !