S'està enviant notificacions push a Android amb Firebase Cloud Messaging

Autora: Louise Ward
Data De La Creació: 4 Febrer 2021
Data D’Actualització: 1 Juliol 2024
Anonim
S'està enviant notificacions push a Android amb Firebase Cloud Messaging - Aplicacions
S'està enviant notificacions push a Android amb Firebase Cloud Messaging - Aplicacions

Content


Tot i que està fora de l’àmbit d’aquest tutorial, també podeu utilitzar FCM per a notificacions a l’aire amunt, on FCM rep una de l’aplicació del client o per notificar la vostra aplicació quan hi hagi noves dades disponibles per a la seva descàrrega. D’aquesta manera, podeu assegurar que la comunicació entre el servidor d’aplicacions i l’aplicació de client només es produeix quan sigui necessari, la qual cosa és molt més eficient que l’aplicació client que es posa en contacte amb el servidor a intervals regulars, i fora de la possibilitat que hi hagi algunes dades disponibles.

Com que FCM forma part de Firebase, també juga molt bé amb altres serveis Firebase. Un cop dominat l’essencial de la FCM, potser voldreu utilitzar les proves A / B per identificar quines notificacions són les més eficaces o bé utilitzar Firebase Predictions per aplicar un potent aprenentatge de màquines a totes les dades d’analítica que es generen a les vostres campanyes de FCM.


FCM admet dos tipus de s:

  • Notificació s. L'aplicació de client es comportarà de manera diferent segons sigui en un segon pla o en un primer pla quan rep la FCM. Si la vostra aplicació es troba en segon pla, el SDK Firebase processarà automàticament la presentació i la mostrarà com a notificació a la safata del sistema del dispositiu. Com que el sistema Android crea la notificació per a vosaltres, aquesta és una de les maneres més fàcils d’enviar notificacions push als vostres usuaris. Si la vostra aplicació rep una FCM mentre es troba en primer pla, el sistema no ho faré gestioneu aquesta notificació automàticament, deixant-vos processar la devolució de trucada de recepció () de l'aplicació. Més endavant explorarem OnReived () en aquest tutorial, però, per ara, només tingueu en compte que si la vostra aplicació rep un temps a la primera línia, no es mostrarà a l'usuari per defecte.
  • Dades s. A diferència de les notificacions, podeu utilitzar les dades per enviar elements de dades personalitzades a l'aplicació de client. Tanmateix, FCM situa un límit de 4 KB en aquestes dades, de manera que si la càrrega útil supera els 4 KB, caldrà obtenir les dades addicionals mitjançant WorkManager o l'API JobScheduler.

En aquest tutorial ens centrarem en les notificacions.


Què passa amb Google Cloud Messaging?

Si utilitzeu el servidor i les API de client de Google Cloud Messaging (GCM), hi ha algunes notícies dolentes: aquest servei ja s'ha deixat enrere i Google té previst desactivar "la majoria" de serveis GCM l'abril de 2019. utilitzant GCM, ja hauríeu de començar a migrar els vostres projectes a FCM i heu d’haver completat la vostra migració a l’abril del 2019.

Afegint Firebase al vostre projecte Android

Anem a veure com és de fàcil afegir suport bàsic FCM a la vostra aplicació i, després, utilitzar-lo per enviar notificacions push als usuaris.

Com que FCM és un servei Firebase, haureu d’afegir Firebase a la vostra aplicació:

  • Dirigiu-vos a la consola Firebase.
  • Seleccioneu "Afegir projecte" i poseu el nom al vostre projecte.
  • Llegiu els termes i les condicions. Si no esteu contents de procedir, seleccioneu "Accepto ..." seguit de "Crear projecte".
  • Seleccioneu "Afegeix Firebase a la vostra aplicació Android".
  • Introduïu el nom del paquet del vostre projecte i, a continuació, feu clic a "Registra l'aplicació".
  • Seleccioneu "Baixeu google-services.json."
  • A Android Studio, arrossegueu i deixeu anar el fitxer google-services.json al directori "aplicació" del vostre projecte.
  • Obriu el fitxer build.gradle a nivell de projecte i afegiu el següent:

classpath com.google.gms: google-services: 4.0.1

  • Obriu el fitxer build.gradle a nivell d'aplicació i afegiu el complement de serveis de Google, a més de les dependències per a Firebase Core i FCM:

// Afegiu el complement de serveis de Google // Aplica el complement: com.google.gms.google-services ... ... ... dependències {file file implementationTree (dir: libs, include:) // Afegeix Firebase Core // implementació com.google.firebase: firebase-core: 16.0.1 // Afegiu FCM // implementació com.google.firebase: firebase-messaging: 17.3.4

  • Quan se us demani, sincronitzeu els canvis.
  • A continuació, heu de comunicar a la consola Firebase que heu afegit Firebase amb èxit al vostre projecte. Instal·leu l'aplicació en un smartphone o tauleta Android físic o en un dispositiu virtual Android (AVD).
  • De nou a la consola Firebase, seleccioneu "Executar aplicació per verificar la instal·lació."
  • Un cop Firebase hagi detectat l'aplicació, apareixerà una "Enhorabona". Seleccioneu "Continua a la consola".

S'està enviant la primera notificació push amb Firebase

I ja està! Ara podeu enviar una notificació push als usuaris i aquesta notificació apareixerà a la safata del sistema del dispositiu (per ara, suposem que la vostra aplicació no es troba en primer pla quan es lliura).

Podeu crear notificacions FCM mitjançant el Notificador compositor, disponible a la consola Firebase:

  • Assegureu-vos que la vostra aplicació estigui instal·lada i funcionant en segon pla i que el dispositiu tingui una connexió a Internet activa.
  • A la consola de Firebase, seleccioneu "Missatgeria en núvol" al menú de l'esquerra.

  • Seleccioneu "Enviar el primer".
  • Dóna el títol i algun text sobre el cos i, a continuació, fes clic a "Següent".

  • Obriu el menú desplegable "Selecciona l'aplicació" i trieu l'aplicació de la llista. Aquesta secció també inclou algunes opcions avançades que podeu utilitzar per crear notificacions orientades, basades en factors com la versió de l’aplicació, la configuració local del dispositiu i la darrera vegada que l’usuari es va comprometre amb la vostra aplicació. No utilitzarem cap d’aquestes opcions a la nostra notificació de prova, però si voleu veure quines estan disponibles, seleccioneu “i…” i exploreu el menú desplegable posterior.

  • Un cop hàgiu acabat d'editar aquesta secció, feu clic a "Següent".
  • Si suposeu que voleu enviar-ho immediatament, obriu el menú desplegable "Enviar a usuaris elegibles" i seleccioneu "Ara".
  • A la part inferior dreta de la pantalla, feu clic a "Publica".
  • Comproveu tota la informació a la finestra emergent posterior i, si no us ve de gust, seleccioneu "Publica".

Al cap d’uns moments, tots els dispositius client que vau orientar han de rebre aquesta notificació a la safata del sistema.

La majoria de les vegades, les notificacions de FCM es lliuraran immediatament, però de tant en tant pot trigar uns minuts a arribar, així que no us espanteu si la notificació es retarda.

Definició d'alguns objectius: esdeveniments de conversió de notificacions

Quan creeu una notificació, normalment teniu en compte un objectiu: tant si els usuaris tornen a la vostra aplicació, com per convèncer-los a obrir-se una compra a l’aplicació o simplement obrir la notificació.

Podeu assignar un objectiu a la vostra notificació mitjançant el compositor de notificacions i, a continuació, fer el seguiment del rendiment d'aquestes notificacions al tauler de control d'informes FCM.

Per establir un objectiu, feu clic per ampliar la secció "Esdeveniments de conversió" del compositor de navegació i, a continuació, obriu el menú desplegable que acompanya i trieu els esdeveniments de conversió disponibles.

La vostra notificació va ser un èxit?

Després d’enviar una notificació, podeu analitzar el seu rendiment al tauler d’informació FCM, que s’ha de carregar automàticament cada vegada que envieu una nova o podeu accedir directament al tauler.

Fins i tot si no heu definit cap objectiu de conversió explícit, podeu determinar si els usuaris actuen en les vostres notificacions, si compareu el nombre de lliuraments amb el nombre d'obres obertes.

També podeu seleccionar qualsevol d'aquesta llista per veure les dades d'enviament, d'obertura i de conversió com a gràfics. Si establiu algun objectiu de conversió, aquí també trobareu les estadístiques relacionades amb aquests objectius.

Què passa si la meva aplicació es troba en primer pla?

Les notificacions FCM es comporten de manera diferent segons l'estat de l'aplicació del client.

De manera predeterminada, la vostra aplicació no mostrarà cap FCM que rep mentre està en primer pla, de manera que quan envieu una, no hi ha cap garantia que els vostres usuaris realment puguin veure això.

Per actuar sobre les aplicacions que rep la vostra aplicació mentre es troba a la primer pla, haureu d’estendre el FirebaseMessagingService, substituir el mètode onReceived i, després, recuperar el contingut mitjançant getNotification o getData, segons si treballeu amb dades o notificacions, o ambdues.

Creeu una classe de Java nova anomenada "MyFirebaseMessagingService" i, a continuació, afegiu el següent:

public class MyFirebaseMessagingService estén FirebaseMessagingService {@Override public void onReceived (Remote) {super.onReceived (remot);

També haureu de crear un objecte de notificació. Aquesta és la vostra oportunitat de personalitzar la vostra notificació, per exemple, escollint el so que hauria de reproduir-se cada vegada que l'usuari rep aquesta notificació o aplicant una icona de notificació personalitzada. També haureu de recuperar el contingut de les dades o de les notificacions, per exemple:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder (això, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (NotificationCom) .setPriority (NotificationCom) setStyle (nova NotificacióCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (cert); NotificationManager notificationManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); notificationManager.notify (0, notificationBuilder.build ()); }}

Un cop hàgiu creat el servei, no oblideu afegir-lo al manifest:

Ara, cada vegada que la teva aplicació rep una FCM mentre es troba en primer pla, es lliurarà al gestor onReived () i l'aplicació haurà de prendre l'acció definida per vostè, com publicar la notificació o actualitzar el contingut de l'aplicació.

Notificacions més atractives: orientació als usuaris

Fins ara, hem enviat la mateixa notificació a tota la nostra base d’usuaris, però les notificacions són molt més atractives quan s’orienten a usuaris concrets.

Podeu utilitzar el Notificador per enviar diferents notificacions a diferents parts de la base d'usuaris. Dirigiu-vos al compositor de notificacions i creeu la vostra notificació amb normalitat, però a la secció "Orientació", feu clic a "i". Això us permet accedir a un nou menú desplegable que conté les opcions següents:

  • Versió. Això us permet orientar o excloure dispositius que utilitzin versions específiques de l'aplicació. Per exemple, podeu enviar notificacions a persones que utilitzin la versió gratuïta, animant-les a actualitzar a la versió Premium de l'aplicació.
  • Llenguatge. Podeu utilitzar aquesta configuració per orientar o excloure els diferents idiomes i locals que suporta l'aplicació, com ara la creació de notificacions personalitzades per a diferents zones horàries o idiomes.
  • Públic (s) d’usuari. Això us permet orientar o excloure diferents seccions del vostre públic. Per exemple, podeu utilitzar aquesta configuració per temptar les persones que tenen un historial de fer compres integrades a les aplicacions, oferint-los un descompte o cridant l’atenció sobre tots els increïbles productes integrats a l’aplicació que acabeu de publicar.
  • Propietat d'usuari. Si configureu Firebase Analytics, tindreu accés a una àmplia informació sobre el vostre públic, a través de les propietats de l’usuari. Podeu utilitzar aquestes propietats en combinació amb FCM, per enviar notificacions dirigides a seccions molt específiques de la vostra base d’usuaris, com ara persones de la franja d’entre 25 i 34 anys que estiguin interessades en practicar esports.
  • Predicció. Si configureu prediccions de Firebase, podeu orientar els usuaris en funció de la probabilitat que tinguin en un comportament en particular durant els propers 7 dies. Per exemple, si les prediccions adverteixen que és probable que algú es desconnecti del joc mòbil, podríeu utilitzar FCM per convidar-los a participar en una nova cerca o enviar-los alguna moneda al joc.
  • Compromís amb l'última aplicació Si un usuari no ha llançat l'aplicació durant un temps, llavors podeu fer servir aquesta configuració per enviar-li algunes notificacions, només per recordar-los tot el contingut fantàstic que ofereix la vostra aplicació.
  • Primer obert. D’aquesta manera, podeu enviar notificacions en funció de la primera vegada que l’usuari va obrir l’aplicació, per exemple, podreu ajudar els usuaris nous a avançar-se ràpidament enviant-los notificacions amb consells i consells útils.

Orientació d’un únic dispositiu amb fitxes de registre

Ja hem vist com enviar notificacions orientades en funció de factors com ara l’edat de l’usuari, els interessos i la darrera vegada que van participar amb l’aplicació, però podeu fer-ho s’aconsegueix més específic. En aquesta secció final, us mostraré com enviar una notificació FCM a un solter dispositiu.

Quan l'usuari llança l'aplicació per primera vegada, el SDK FCM genera un testimoni de registre per a aquesta instància d'aplicació de client. Podeu utilitzar FirebaseInstanceId.getInstance (). GetInstanceId () per capturar aquest testimoni de registre i, a continuació, enviar una notificació a aquest token específic.

Tingueu en compte que, en un projecte del món real, normalment captureu un testimoni enviant-lo al servidor d'aplicacions i emmagatzemant-lo mitjançant el mètode preferit, però per ajudar a mantenir les coses senzilles, simplement imprimiré aquest testimoni al Logcat d'Android Studio.

Aquí teniu la meva principal activitat principal:

importa android.support.v7.app.AppCompatActivity; importa android.os.Bundle; importa android.support.annotation.NonNull; importa android.util.Log; importa com.google.android.gms.tasks.OnCompleteListener; importa com.google.android.gms.tasks.Task; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; public class MainActivity s'estén AppCompatActivity {private static final String TAG = "MainActivity"; @Override protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (nou OnCompleteListener() {@Orride public void onComplete (Tasca @NonNull tasca) {if (! task.isSuccessful ()) {// Fer // tornar; } // Obteniu el testimoni ID d’Instància // String token = task.getResult (). GetToken (); String msg = getString (R.string.fcm_token, token); Log.d (TAG, msg); }}); }}

Obriu el fitxer strings.xml i creeu el recurs de cadena "fcm_token" al qual fem referència al nostre MainActivity:

Fitxa FCM:% s

Ja podeu recuperar el testimoni únic del dispositiu:

  • Instal·leu el vostre projecte en el dispositiu Android connectat o en AVD.
  • Obriu el Logcat d'Android Studio, seleccionant la pestanya "Logcat" (on es troba el cursor a la captura de pantalla següent).

  • El testimoni del dispositiu s’imprimirà a la secció “Depuració” de Logcat, així que obriu el menú desplegable i seleccioneu “Depuració”.

Segons la quantitat d’informació del Logcat, pot ser difícil detectar la línia que cercàveu. Si teniu problemes, executeu la cerca de la paraula "token" o proveu de tancar-la i després de tornar a iniciar l'aplicació.

Un cop recuperat el token, el podeu fer servir per enviar una notificació push a aquest dispositiu en concret:

  • Dirigiu-vos a la consola Firebase i seleccioneu el vostre projecte al menú desplegable, si encara no ho heu fet.
  • Trieu "Missatgeria en núvol" al menú de l'esquerra.
  • Feu clic al botó "Nova notificació".
  • Introduïu el títol i el text com a normal, però feu clic a "Prova al dispositiu".

  • Copieu / enganxeu el token al camp "Afegeix una instància ..." i, a continuació, feu clic a la icona petita "+" blava que apareix.
  • Marqueu la casella de selecció que acompanya el testimoni.

  • Feu clic a "Prova".

Aquesta notificació només apareixerà al dispositiu client d'orientació.

Embalatge

En aquest article, us vaig mostrar com enviar notificacions push a Android, mitjançant Firebase Cloud Messaging, i com crear notificacions que s’orientin a diferents seccions de la vostra base d’usuaris.

Voleu utilitzar FCM en els vostres propis projectes Android? Feu-nos-ho saber als comentaris a continuació!

Huawei P30 Pro compta amb una gran pantalla OLED de 6.47 polzade de doble corba que permet al propietari veure foto, vídeo, aplicacion i altre contingut amb molta claredat. Val a dir que cal un p...

La Huawei P30 té una pantalla OLED plana de 6,1 polzade que permet al propietari veure foto, vídeo, aplicacion i altre contingut amb una reolució de 2.340 x 1.080. i teniu aquet tel...

Selecció Del Lloc