Información general
Este tutorial se ha diseñado para ayudarle a poner en marcha la integración de PlayFab en Android con notificaciones push. Las notificaciones push requieren configuración en varios sistemas. Antes de empezar, hablemos de cómo funciona la infraestructura. Hay 4 entidades que participan en el proceso:- Google Play Services
- Firebase Cloud Messaging Services (FCM, creado sobre el antiguo Google Cloud Messaging).
- Servicios de PlayFab
- Aplicaciones cliente
1. Google Play Services
Google Play Services identifica su página en Play Market mediante un nombre de paquete. Un ejemplo de esto sería: com.bob.games.matchthree. Cuando se registra en Google Play, el nombre del paquete se convierte en un identificador único de la aplicación y sirve para muchos fines, desde la instalación a través de Play Store hasta la prevención de suplantaciones.2. Firebase Cloud Messaging (FCM)
Los servicios de Firebase Cloud Messaging le ofrecen un sistema basado en la nube para enviar, dirigir y entregar sus notificaciones push. También permite que otros servicios (como PlayFab) envíen notificaciones push en su nombre mediante la clave de servidor de FCM.3. Servicios de PlayFab
Los servicios de PlayFab usan entonces la clave de servidor de FCM para enviar notificaciones push a sus clientes.4. Servicios de cliente
Por último, su aplicación cliente puede recibir notificaciones y procesarlas según sea necesario.División en cuatro partes
Como resultado, necesitamos configurar 4 sistemas diferentes. Para ello, nuestro tutorial se divide en 4 capítulos, que cubren la configuración de cada pieza.El orden en que configure los sistemas es importante.
Requisitos previos
- Debe tener una cuenta de Google.
- Debe tener una cuenta de PlayFab.
- Un icono de notificación generado con el generador de iconos de notificación de Android Asset Studio.
Escenario
En esta sección de nuestro tutorial, ensamblaremos una aplicación denominada Foo PlayFab App. Es una aplicación de Android que tiene las siguientes funciones:- Inicia sesión en PlayFab mediante un identificador de dispositivo Android.
- Recibe notificaciones push de PlayFab.
Asegúrese de usar su propio nombre de paquete y título al seguir este tutorial.
Capítulo 1: Configuración de Firebase
Empiece a configurar Firebase mediante su página de consola oficial. Se le presentará una página donde puede agregar un nuevo proyecto.- Para ello, seleccione el área Add project, como se muestra en la imagen siguiente.
- Se le pedirá que proporcione un nombre de proyecto (en este tutorial usamos nuestra Foo PlayFab App, pero asegúrese de idear su propio nombre al seguir este tutorial).
- Seleccione el botón Create Project para avanzar al paso siguiente.
- Agregue una nueva aplicación Android al proyecto seleccionando el área que se muestra en la imagen siguiente.
- En primer lugar, debe proporcionar un nombre de paquete de Android. Nosotros usamos com.foo.playfab.app, pero asegúrese de idear su propio nombre de paquete al seguir este tutorial.
- Seleccione el botón Register App para pasar al paso siguiente.
- Después de descargarlo, seleccione el botón Continue para pasar al paso siguiente.
- El paso final ofrece información sobre cómo configurar su proceso de compilación para conectar los SDK de Firebase y Google Play.
Puede ignorar esta información, ya que usaremos una herramienta automatizada integrada en Android Studio que realiza esta configuración automáticamente.
- Seleccione el botón Finish para continuar.
- Una vez agregada la aplicación, aparecerá en el panel.
- En este punto, la configuración está completa y necesitamos extraer la clave de servidor de FCM (que usaremos para conectar las notificaciones push de PlayFab).
- Vaya a Project settings, como se muestra en la imagen siguiente.
- En Project settings, vaya a la pestaña Cloud Messaging.
- Busque el área Server Key (el área en rojo de la imagen que se muestra a continuación).
- Copie esta clave y guárdela en un lugar seguro y de fácil acceso.
Capítulo 2: Configuración de Google Play Console
Cuando su aplicación esté lista, lo más probable es que cree un proyecto de Google Console para mantener una página de producto en Play Store. Veamos el proceso de creación de un proyecto de Google Play y su vinculación con el proyecto de Firebase. Empiece por visitar la página de Google Play Console y crear un nuevo proyecto, como se muestra en la imagen siguiente.- Asigne el título.
En este ejemplo, usamos Foo PlayFab App. Asegúrese de idear su propio título y nombre de paquete mientras sigue este tutorial.
- Seleccione el botón Create para continuar.
- Se abrirá la página del proyecto de Google Play Console.
- Seleccione Services & APIs en el menú lateral.
- Se abrirá la página Services configuration.
- Busque el panel Firebase Cloud Messaging.
- Seleccione el botón Link a Sender ID, como se muestra en la imagen siguiente.
- Use la clave de servidor de FCM que recibió (y guardó) al usar la consola de Firebase en el capítulo anterior.
- Cuando termine, seleccione el botón Link, como se muestra en nuestro ejemplo.
- Dedique un momento a comprobar que el identificador de remitente que se muestra en Google Play Console coincide con el de la consola de Firebase, como se muestra en el ejemplo siguiente.
Capítulo 3: Configuración del título de PlayFab
El propósito de este capítulo es mostrarle cómo configurar los servicios de PlayFab para que puedan enviar notificaciones push al jugador en su nombre.- En primer lugar, debe ir a Title settings en el menú de configuración de su título.
- Seleccione la pestaña Push Notifications.
- Para la opción de Android, seleccione el icono de configuración.
- Se le pedirá su clave de API de servidor de Google.
- Copie la que recibió a través de la consola de Firebase, como se muestra en el ejemplo proporcionado a continuación.
- Si todo es correcto, se le presentará una página que muestra las notificaciones push como activas.
Capítulo 4: Configuración del proyecto de Android Studio
Para utilizar el JavaSDK de PlayFab, necesitará el JavaSDK de cliente de PlayFab y su dependencia, Google GSON.- Descargue aquí la biblioteca JAR del JavaSDK de cliente de PlayFab.
-
Busque
client-sdk-*.jary el Java Doc correspondiente si lo necesita. - Descargue la versión más reciente de Google GSON.
-
Busque
gson-*.jar. - Tenga a mano los archivos .jar mencionados anteriormente.
- Compruebe que el nombre de paquete coincide con el que ha usado a lo largo de este tutorial (en Firebase, por ejemplo).
Para los fines de este ejemplo, usamos com.foo.playfab.app, pero recuerde idear su propio nombre de paquete y título mientras sigue este tutorial.
- Seleccione el SDK mínimo de su elección.
- A continuación, seleccione el botón Next.
- Seleccione la plantilla que quiere usar.
- A continuación, seleccione el botón Next.
- Configure la plantilla como quiera.
- Seleccione el botón Finish.
- Cambie a la pestaña Project (1).
En el capítulo anterior, descargó el archivo de configuración
google-services.json desde la consola de Firebase. Úselo para el paso siguiente.- Compruebe que este archivo se encuentra en la carpeta App (2).
- A continuación, vaya a Tools (3).
- Seleccione Firebase (4), como se muestra en el ejemplo proporcionado a continuación.
- Busque la carpeta Cloud Messaging y seleccione Set up Firebase Cloud Messaging, como se muestra a continuación.
- En el Asistente de notificaciones de Firebase, seleccione el botón Add FCM to your app (1), como se muestra en la imagen siguiente.
- Se abrirá un cuadro de diálogo que indica que se agregarán nuevas dependencias mediante Gradle.
- Seleccione Accept Changes (2) para aceptar los cambios.
Desafortunadamente, las dependencias que agrega automáticamente el proceso de sincronización de Gradle (3) son incorrectas y notificarán un error.
-
Para configurar las dependencias correctamente, reemplace las líneas agregadas automáticamente por las siguientes:
implementation 'com.google.firebase:firebase-core:16.0.3
implementation 'com.google.firebase:firebase-messaging:17.0.0
- Compruebe que el Asistente de notificaciones de Firebase indica que las dependencias ahora están configuradas correctamente (1).
Al principio de este capítulo, adquirimos los archivos JAR necesarios. Normalmente, el archivo de compilación captura estos archivos automáticamente.
- Para asegurarse de que estos archivos JAR aparecen en la carpeta app/libs (2), seleccione todos los archivos y haga clic con el botón derecho en ellos.
- A continuación, elija Add as library… (3), como se muestra en el ejemplo proporcionado a continuación.
- Con el generador de iconos de notificación de Android Asset Studio, prepare los iconos y colóquelos dentro de app/src/main/res.
- En el ejemplo que se muestra a continuación, el icono se denomina ic_stat_blur_on.
- Por último, seleccione Rebuild Project.
- app/src/main/AndroidManifest.xml
- app/src/main/java/..packagePath../MainActivity.java
- app/src/main/java/..packagePath../FooAppFirebaseInstanceIdService.java
- app/src/main/java/..packagePath../FooAppFirebaseMessagingService.java
La implementación actual está pensada para ser lo más corta posible, solo para probar rápidamente las notificaciones. Considere las guías de FCM para conocer procedimientos recomendados de alta calidad y ejemplos de implementación más complejos.
AndroidManifest.xml
En el código siguiente, reemplace los marcadores de posiciónMY_PACKAGE_IDENTIFIER por su propio identificador de paquete.
MainActivity.java
Los siguientes marcadores de posición del código deben reemplazarse según su escenario.-
PLAYFAB_TITLE_ID- Use el identificador de su título que recibió en Game Manager de PlayFab.
-
PACKAGE_IDENTIFIER- Use el identificador de paquete de Java que coincida con su configuración.
FooAppFirebaseInstanceIdService.java
El marcador de posición del código que se muestra a continuación debe reemplazarse según su escenario.PACKAGE_IDENTIFIER- El identificador de paquete de Java que coincida con su configuración.
FooAppFirebaseMessagingService.java
El marcador de posición del código que se muestra a continuación debe reemplazarse según su escenario.PACKAGE_IDENTIFIER- El identificador de paquete de Java que coincida con su configuración.
Pruebas
En este punto, debería poder implementar la aplicación en el dispositivo.- Una vez que inicie la aplicación, esta iniciará sesión automáticamente y se registrará para las notificaciones push.
- Seleccione el botón Inicio de su dispositivo para minimizar la aplicación. Esto es importante, ya que nos permite probar la notificación que llega a la bandeja del sistema.
- A continuación, vaya a la página de Game Manager de su título de PlayFab y use el panel para localizar el registro push más reciente.
- Seleccione el identificador del jugador (1).
- Seleccione el botón Send Push Notification (1).
- Escriba el título (2).
- Escriba el cuerpo de su mensaje (3).
- Confirme los cambios seleccionando el botón Send Push Notification (4).
- Compruebe que el mensaje llega a su dispositivo.
