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 repository github https //github com/back4app/android cloud code push requisiti per completare questo tutorial, abbiamo bisogno di android studio https //developer android com/studio/index html un'app creata su back4app nota segui il tutorial nuova app parse 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 tutorial installazione sdk parse 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 tutorial notifiche push di back4app tramite dashboard 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 dispositivo virtuale 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 \<font color="#2166ae">installazione\</font> l' \<font color="#2166ae">installazione\</font> è 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' \<font color="#2166ae">installazione\</font> è 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' \<font color="#2166ae">installazione\</font> sono memorizzati nel campo \<font color="#2166ae">canali\</font> dell' \<font color="#2166ae">installazione\</font> per iniziare a lavorare con le notifiche push, sono necessari i seguenti passaggi se hai scaricato il nostro modello di progetto https //github com/back4app/android cloud code push , non dimenticare di cambiare le tue credenziali nel \<font color="#2166ae">app/src/main/res/values/string xml\</font> file e il \<font color="#2166ae">gcmsenderid\</font> che hai ottenuto da firebase nel \<font color="#2166ae">androidmanifest xml\</font> 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 \<font color="#2166ae">parse initialize(this)\</font> 3\ crea un nuovo array di canali e inserisci i canali a cui desideri iscriverti in questo esempio, il \<font color="#2166ae">news\</font> canale è stato creato 4\ aggiungi alla tua installazione il tuo \<font color="#2166ae">gcmsenderid\</font> , ottenuto dalla console firebase https //console firebase google com/?pli=1 , tramite il comando \<font color="#2166ae">installation put("gcmsenderid", "your firebase gcm sender id here")\</font> per sapere come puoi ottenere quella chiave, guarda passo 1 di tutorial sulle notifiche push tramite dashboard https //www back4app com/docs/android/push notifications/parse server push notifications 5\ aggiungi l' \<font color="#2166ae">oggetto canali\</font> all' \<font color="#2166ae">installazione\</font> tramite il comando \<font color="#2166ae">installation put("channels", channels)\</font> 6\ salva l'installazione nel tuo database tramite \<font color="#2166ae">installation saveinbackground()\</font> 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 tutorial di cloud code per android https //www back4app com/docs/get started/cloud functions crea un \<font color="#2166ae"> js\</font> file per inserire il tuo cloud code in questo esempio, viene creato un \<font color="#2166ae">main js\</font> file definisci una funzione cloud, utilizzando \<font color="#2166ae">parse cloud define\</font> , per chiamare la notifica push in questo esempio, questa funzione è chiamata \<font color="#2166ae">parse push send\</font> è 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 sito web di back4app https //www back4app com/ e clicca su \<font color="#2166ae">dashboard\</font> trova il \<font color="#2166ae">cloud code\</font> e clicca su \<font color="#2166ae">funzioni e hosting web\</font> dovrebbe apparire così 3\ carica o crea un nuovo file (puoi anche modificare il \<font color="#2166ae">main js\</font> file direttamente nel browser) poi, clicca su \<font color="#2166ae">deploy\</font> 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 \<font color="#2166ae">parsecloud callfunctioninbackground\</font> sulla funzione cloud \<font color="#2166ae">pushsample\</font> 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 \<font color="#2166ae">alertdisplayer\</font> 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 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 o 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 '{ // 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!