Android
Push Notifications
Notifiche Push con Cloud Code su Android tramite Back4App
16 min
invia notifiche push parse utilizzando il cloud code introduzione questa sezione spiega come puoi inviare notifiche push utilizzando il cloud code tramite back4app ecco come apparirà in qualsiasi momento, puoi accedere al progetto android completo costruito con questo tutorial nel nostro https //github com/back4app/android cloud code push requisiti per completare questo tutorial, abbiamo bisogno di https //developer android com/studio/index html un'app creata su back4app nota segui il https //www back4app com/docs/get started/new parse app per imparare a creare un'app parse su back4app un'app android connessa a back4app nota segui il https //www back4app com/docs/android/parse android sdk per creare un progetto android studio connesso a back4app segui i passi 1 a 5 del https //www back4app com/docs/android/push notifications/parse server push notifications con attenzione per configurare le notifiche push per la tua app un dispositivo (o https //developer android com/studio/run/managing avds html ) che esegue il livello api 27 o superiore 1 configura android per ricevere push ogni applicazione parse installata su un dispositivo registrato per le notifiche push ha un oggetto associato installazione installazione l' installazione installazione è dove memorizzi tutti i dati necessari per indirizzare le notifiche push ad esempio, nella tua app, potresti memorizzare quali squadre interessano uno dei tuoi utenti per inviare aggiornamenti sulle loro prestazioni salvare l' installazione installazione è anche necessario per tracciare gli eventi di apertura dell'app legati alle push il modo più semplice per iniziare a inviare notifiche è utilizzare i canali questo ti consente di utilizzare un modello publisher subscriber per inviare push i dispositivi iniziano iscrivendosi a uno o più canali, e le notifiche possono essere inviate successivamente a questi abbonati i canali a cui si è iscritti da un' installazione installazione sono memorizzati nel campo canali canali dell' installazione installazione per iniziare a lavorare con le notifiche push, sono necessari i seguenti passaggi se hai scaricato il nostro https //github com/back4app/android cloud code push , non dimenticare di cambiare le tue credenziali nel app/src/main/res/values/string xml app/src/main/res/values/string xml file e il gcmsenderid gcmsenderid che hai ottenuto da firebase nel androidmanifest xml androidmanifest xml file importa le seguenti dipendenze 1 // dipendenze java 2 import java util arraylist ; 3 // dipendenze parse 4 import com parse parse ; 5 import com parse parseinstallation ; 2\ inizializza parse con parse initialize(this) parse initialize(this) 3\ crea un nuovo array di canali e inserisci i canali a cui desideri iscriverti in questo esempio, il news news canale è stato creato 4\ aggiungi alla tua installazione il tuo gcmsenderid gcmsenderid , ottenuto dalla https //console firebase google com/?pli=1 , tramite il comando installation put("gcmsenderid", "your firebase gcm sender id here") installation put("gcmsenderid", "your firebase gcm sender id here") per sapere come puoi ottenere quella chiave, guarda passo 1 di https //www back4app com/docs/android/push notifications/parse server push notifications 5\ aggiungi l' oggetto canali oggetto canali all' installazione installazione tramite il comando installation put("channels", channels) installation put("channels", channels) 6\ salva l'installazione nel tuo database tramite installation saveinbackground() installation saveinbackground() il seguente codice esegue questi passaggi 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 crea il tuo cloud code per saperne di più su come iniziare con cloud code guarda https //www back4app com/docs/get started/cloud functions crea un js js file per inserire il tuo cloud code in questo esempio, viene creato un main js main js file definisci una funzione cloud, utilizzando parse cloud define parse cloud define , per chiamare la notifica push in questo esempio, questa funzione è chiamata parse push send parse push send è necessario utilizzare la chiave master in questa operazione il seguente codice esegue questi passaggi 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 carica su cloud code vai alla tua app su https //www back4app com/ e clicca su dashboard dashboard trova il cloud code cloud code e clicca su funzioni e hosting web funzioni e hosting web dovrebbe apparire così 3\ carica o crea un nuovo file (puoi anche modificare il main js main js file direttamente nel browser) poi, clicca su deploy deploy come mostrato qui 4 chiama il cloud code dall'app android importa le seguenti dipendenze 1 // dipendenze java 2 import java util hashmap ; // questo include l'oggetto hasmap che la funzione cloud 4 deve chiamare 3 // dipendenze parse 4 import com parse functioncallback ; 5 import com parse parsecloud ; 6 import com parse parseexception ; 2\ chiama il parsecloud callfunctioninbackground parsecloud callfunctioninbackground sulla funzione cloud pushsample pushsample 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 }); il alertdisplayer alertdisplayer metodo utilizzato nell'esempio sopra è il seguente 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\ verifica se le notifiche push vengono inviate chiamando la funzione sopra mentre il dispositivo è aperto 5 chiama il cloud code dall'api rest l'api rest fornisce un modo rapido e semplice per testare se la tua funzione cloud sta funzionando basta utilizzare il codice qui sotto nel tuo terminale o prompt dei comandi clicca su per saperne di più su come iniziare con la riga di comando in https //www digitalocean com/community/tutorials/an introduction to the linux terminal , https //blog teamtreehouse com/introduction to the mac os x command line o 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 '{ // metti qui i parametri della funzione in formato json }' \\ https //parseapi back4app com/functions/pushsample per testare le notifiche push, basta utilizzare il codice rest mentre il dispositivo è aperto è fatto! a questo punto, puoi inviare notifiche push utilizzando il cloud code tramite back4app!