Android
Push Notifications
Enviar notificaciones Push con Cloud Code en parse para Android
16 min
envía notificaciones push de parse usando cloud code introducción esta sección explica cómo puedes enviar notificaciones push usando cloud code a través de back4app así es como se verá en cualquier momento, puedes acceder al proyecto completo de android construido con este tutorial en nuestro https //github com/back4app/android cloud code push requisitos previos para completar este tutorial, necesitamos https //developer android com/studio/index html una aplicación creada en back4app nota sigue el https //www back4app com/docs/get started/new parse app para aprender cómo crear una aplicación parse en back4app una aplicación de android conectada a back4app nota sigue el https //www back4app com/docs/android/parse android sdk para crear un proyecto de android studio conectado a back4app sigue los pasos 1 a 5 del https //www back4app com/docs/android/push notifications/parse server push notifications cuidadosamente para configurar notificaciones push en tu aplicación un dispositivo (o https //developer android com/studio/run/managing avds html ) que ejecute el nivel de api 27 o superior 1 configurar android para recibir push cada aplicación de parse instalada en un dispositivo registrado para notificaciones push tiene un objeto asociado instalación instalación el instalación instalación es donde almacenas todos los datos necesarios para dirigir las notificaciones push por ejemplo, en tu aplicación, podrías almacenar en qué equipos está interesado uno de tus usuarios para enviar actualizaciones sobre su rendimiento guardar el instalación instalación también es necesario para rastrear eventos de apertura de la aplicación relacionados con push la forma más sencilla de comenzar a enviar notificaciones es utilizando canales esto te permite usar un modelo de publicador suscriptor para enviar notificaciones push los dispositivos comienzan suscribiéndose a uno o más canales, y las notificaciones pueden enviarse posteriormente a estos suscriptores los canales a los que se suscribe una instalación instalación se almacenan en el canales canales del campo del instalación instalación para comenzar a trabajar con notificaciones push, se requieren los siguientes pasos si descargaste nuestra https //github com/back4app/android cloud code push , no olvides cambiar tus credenciales en el app/src/main/res/values/string xml app/src/main/res/values/string xml archivo y el gcmsenderid gcmsenderid que obtuviste en firebase en el androidmanifest xml androidmanifest xml archivo importa las siguientes dependencias 1 // dependencias de java 2 import java util arraylist ; 3 // dependencias de parse 4 import com parse parse ; 5 import com parse parseinstallation ; 2\ inicializa parse con parse initialize(this) parse initialize(this) 3\ crea un nuevo array de canales y pon los canales a los que te gustaría suscribirte en este ejemplo, el canal de noticias canal de noticias es creado 4\ agrega a tu instalación tu gcmsenderid gcmsenderid , obtenido de la https //console firebase google com/?pli=1 , a través del comando installation put("gcmsenderid", "your firebase gcm sender id here") installation put("gcmsenderid", "your firebase gcm sender id here") para saber cómo puedes obtener esa clave, mira paso 1 de https //www back4app com/docs/android/push notifications/parse server push notifications 5\ agrega el canales canales objeto a la instalación instalación a través del comando installation put("channels", channels) installation put("channels", channels) 6\ guarda la instalación en tu base de datos a través de installation saveinbackground() installation saveinbackground() el siguiente código ejecuta estos pasos 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 tu código en la nube para saber más sobre cómo comenzar con cloud code mira https //www back4app com/docs/get started/cloud functions crea un js js archivo para poner tu cloud code en este ejemplo, se crea un main js main js archivo define una función de cloud, usando parse cloud define parse cloud define , para llamar a la notificación push en este ejemplo, esta función se llama parse push send parse push send es necesario usar la clave maestra en esta operación el siguiente código ejecuta estos pasos 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 subir a cloud code ve a tu aplicación en https //www back4app com/ y haz clic en tablero tablero encuentra el código en la nube código en la nube y haz clic en funciones y alojamiento web funciones y alojamiento web se ve así 3\ sube o crea un nuevo archivo (también puedes editar el main js main js archivo directamente en el navegador) luego, haz clic en desplegar desplegar como se muestra aquí 4 llamar al código en la nube desde la aplicación de android importa las siguientes dependencias 1 // dependencias de java 2 import java util hashmap ; // esto incluye el objeto hasmap que la función de la nube necesita llamar 3 // dependencias de parse 4 import com parse functioncallback ; 5 import com parse parsecloud ; 6 import com parse parseexception ; 2\ llama a la parsecloud callfunctioninbackground parsecloud callfunctioninbackground en la pushsample pushsample función de la nube 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 }); el alertdisplayer alertdisplayer método utilizado en el ejemplo anterior es el siguiente 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\ prueba si las notificaciones push se están enviando llamando a la función anterior mientras el dispositivo está abierto 5 llamar al código en la nube desde la api rest la api rest proporciona una forma rápida y fácil de probar si tu función en la nube está funcionando simplemente usa el código a continuación en tu terminal o símbolo del sistema haz clic en para saber más sobre cómo comenzar con la línea de comandos en 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 '{ // pon los parámetros de la función aquí en formato json }' \\ https //parseapi back4app com/functions/pushsample para probar las notificaciones push, simplemente usa el código rest mientras el dispositivo esté abierto ¡está hecho! ¡en esta etapa, puedes enviar notificaciones push usando cloud code a través de back4app!