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 comenzar, hablemos de cómo funciona la infraestructura. Hay 4 entidades que participan en el proceso:- Google Play Services
- Firebase Cloud Messaging Services (FCM, basado en el antiguo Google Cloud Messaging.)
- PlayFab Services
- Aplicaciones cliente
1. Google Play Services
Google Play Services identifica su página en Play Market mediante un nombre de paquete. Un ejemplo sería: com.bob.games.matchthree. Cuando se registra en Google Play, el nombre del paquete se convierte en un identificador de aplicación único y sirve para muchos propósitos, desde la instalación a través de Play Store hasta la prevención de la suplantación.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. PlayFab Services
A continuación, PlayFab Services usa la clave de servidor de FCM para enviar notificaciones push a sus clientes.4. Servicios 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 abarcan 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 del tutorial, ensamblaremos una aplicación llamada Foo PlayFab App. Es una aplicación de Android que tiene las siguientes funciones:- Inicia sesión en PlayFab con 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: Configurar Firebase
Para empezar a configurar Firebase, use su página de consola oficial. Se le mostrará una página en la que puede agregar un nuevo proyecto.- Para ello, seleccione el área Add project, como se muestra en la siguiente imagen.

- Se le pedirá que proporcione un Project Name (en este tutorial usamos Foo PlayFab App, pero asegúrese de elegir su propio nombre al seguir este tutorial).
- Seleccione el botón Create Project para avanzar al siguiente paso.

- Agregue una nueva Android Application al proyecto seleccionando el área que se muestra en la siguiente imagen.

- En primer lugar, debe proporcionar un Android Package Name. Nosotros usamos com.foo.playfab.app, pero asegúrese de elegir su propio Package Name al seguir este tutorial.
- Seleccione el botón Register App para pasar al siguiente paso.

- Después de descargarlo, seleccione el botón Continue para pasar al siguiente paso.

- El último paso ofrece información sobre cómo configurar el proceso de compilación para conectar los SDK de Firebase y Google Play.
Puede omitir 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 Application, 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 siguiente imagen.

- En Project settings, vaya a la pestaña Cloud Messaging.
- Busque el área Server Key (el área roja de la imagen que se muestra a continuación).
- Copie esta Key y guárdela en un lugar seguro y de fácil acceso.

Capítulo 2: Configurar Google Play Console
Cuando su aplicación esté lista, lo más probable es que cree un proyecto de Google Console para mantener la página del 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. Comience visitando la página de Google Play Console y creando un nuevo proyecto, como se muestra en la siguiente imagen.
- Asigne el Title.
En este ejemplo, usamos Foo PlayFab App. Asegúrese de elegir su propio título y nombre de paquete al seguir este tutorial.
- Seleccione el botón Create para continuar.

- Se abrirá la página Google Play Console Project.
- 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 siguiente imagen.

- 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.

- Tómese un momento para comprobar que el Sender ID que se muestra en Google Play Console coincide con el de Firebase Console, como se muestra en el ejemplo siguiente.

Capítulo 3: Configurar el título de PlayFab
El propósito de este capítulo es mostrarle cómo configurar PlayFab Services para que pueda enviar notificaciones push al jugador en su nombre.- En primer lugar, debe ir a Title settings en el menú Settings de su título.
- Seleccione la pestaña Push Notifications.
- Para la opción de Android, seleccione el icono Settings.

- Se le pedirá su Google server API key.
- Copie la que recibió a través de la consola de Firebase, como se muestra en el ejemplo que se proporciona a continuación.

- Si todo es correcto, se le mostrará una página en la que Push Notifications aparece como Active.

Capítulo 4: Configurar el proyecto de Android Studio
Para usar 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 la documentación de Java correspondiente si la 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 Package name coincide con el que usó a lo largo de este tutorial (en Firebase, por ejemplo).
Para los fines de este ejemplo, usamos com.foo.playfab.app, pero recuerde elegir su propio nombre de paquete y título al seguir este tutorial.

- Seleccione el Minimum SDK que prefiera.
- A continuación, seleccione el botón Next.

- Seleccione la plantilla que desea usar.
- A continuación, seleccione el botón Next.

- Configure la plantilla como desee.
- 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 de la consola de Firebase. Úselo en el siguiente paso.- 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 que se proporciona a continuación.

- Busque la carpeta Cloud Messaging y seleccione Set up Firebase Cloud Messaging, como se muestra a continuación.

- En Firebase Notifications Assistant, seleccione el botón Add FCM to your app (1), como se muestra en la siguiente imagen.
- 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.
Lamentablemente, 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 Firebase Notifications Assistant indica que las dependencias ya están configuradas correctamente (1).
Al principio de este capítulo, obtuvimos los archivos JAR necesarios. Normalmente, el archivo de compilación obtiene 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 que se proporciona a continuación.

- Con el generador de iconos de notificación de Android Asset Studio, prepare los iconos y colóquelos en app/src/main/res.
- En el ejemplo que se muestra a continuación, el icono se llama 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 se ha diseñado para ser lo más breve posible, solo para probar rápidamente las notificaciones. Consulte 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 PlayFab Game Manager.
-
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 coincide 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 coincide 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, iniciará sesión automáticamente y se registrará para recibir notificaciones push.
- Seleccione el botón Home del 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 buscar el Push Registration más reciente.
- Seleccione el Player ID (1).

- Seleccione el botón Send Push Notification (1).
- Escriba el Title (2).
- Escriba el cuerpo del mensaje (3).
- Confirme los cambios seleccionando el botón Send Push Notification (4).

- Compruebe que el mensaje llega a su dispositivo.

