Visão geral
Este tutorial foi criado para ajudar você a começar a usar a integração do PlayFab no Android com notificações por push. As notificações por push exigem configuração em vários sistemas. Antes de começar, vamos falar sobre como a infraestrutura funciona. Há 4 entidades participando do processo:- Google Play Services
- Firebase Cloud Messaging Services (FCM, criado sobre o antigo Google Cloud Messaging.)
- PlayFab Services
- Aplicativos cliente
1. Google Play Services
O Google Play Services identifica sua página na Play Store usando um nome de pacote. Um exemplo disso seria: com.bob.games.matchthree. Quando registrado no Google Play, o nome do pacote se torna uma ID de aplicativo exclusiva e atende a várias finalidades, desde a instalação pela Play Store até a prevenção de falsificação de identidade.2. Firebase Cloud Messaging (FCM)
Os serviços do Firebase Cloud Messaging oferecem um sistema baseado em nuvem para enviar, direcionar e entregar suas notificações por push. Eles também permitem que outros serviços (como o PlayFab) enviem notificações por push em seu nome usando a chave de servidor do FCM.3. PlayFab Services
Em seguida, o PlayFab Services usa a chave de servidor do FCM para enviar notificações por push aos seus clientes.4. Serviços cliente
Por fim, seu aplicativo cliente pode receber notificações e processá-las conforme necessário.Divisão em quatro partes
Como resultado, precisamos configurar 4 sistemas diferentes. Para isso, nosso tutorial está dividido em 4 capítulos, que abordam a configuração de cada parte.A ordem em que você configura os sistemas é importante.
Pré-requisitos
- Você precisa ter uma conta do Google.
- Você precisa ter uma conta do PlayFab.
- Um ícone de notificação gerado usando o Notification icon generator do Android Asset Studio.
Cenário
Nesta seção do nosso tutorial, montaremos um aplicativo chamado Foo PlayFab App. É um aplicativo Android com as seguintes funções:- Ele entra no PlayFab usando uma ID de dispositivo Android.
- Ele recebe notificações por push do PlayFab.
Use seu próprio nome de pacote e título ao seguir este tutorial.
Capítulo 1: configurar o Firebase
Comece a configurar o Firebase usando a página oficial do console. Será exibida uma página na qual você pode adicionar um novo projeto.- Para isso, selecione a área Add project, conforme mostrado na imagem a seguir.

- Será solicitado que você forneça um Project Name (neste tutorial, usamos nosso Foo PlayFab App, mas crie seu próprio nome ao seguir este tutorial).
- Selecione o botão Create Project para avançar para a próxima etapa.

- Adicione um novo Android Application ao projeto selecionando a área mostrada na imagem a seguir.

- Primeiro, você precisa fornecer um Android Package Name. Estamos usando com.foo.playfab.app, mas crie seu próprio Package Name ao seguir este tutorial.
- Selecione o botão Register App para passar para a próxima etapa.

- Depois de baixá-lo, selecione o botão Continue para passar para a próxima etapa.

- A etapa final oferece informações sobre como configurar seu processo de build para conectar os SDKs do Firebase e do Google Play.
Você pode ignorar essas informações, pois usaremos uma ferramenta automatizada integrada ao Android Studio que realiza essa configuração automaticamente.
- Selecione o botão Finish para continuar.

- Depois que o Application for adicionado, ele aparecerá no painel.
- Nesse ponto, a configuração está concluída, e precisamos extrair a chave de servidor do FCM (que usaremos para conectar as notificações por push do PlayFab).
- Acesse Project settings, conforme mostrado na imagem a seguir.

- Em Project settings, navegue até a guia Cloud Messaging.
- Localize a área Server Key (a área vermelha na imagem mostrada abaixo).
- Copie essa Key e armazene-a em um local seguro e de fácil acesso.

Capítulo 2: configurar o Google Play Console
Quando seu aplicativo estiver pronto, você provavelmente criará um projeto do Google Console para manter a página do produto na Play Store. Vamos percorrer o processo de criar um projeto do Google Play e vinculá-lo ao projeto do Firebase. Comece visitando a página do Google Play Console e criando um novo projeto, conforme mostrado na imagem a seguir.
- Atribua o Title.
Neste exemplo, usamos Foo PlayFab App. Crie seu próprio título e nome de pacote ao seguir este tutorial.
- Selecione o botão Create para continuar.

- A página Google Play Console Project será aberta.
- Selecione Services & APIs no menu lateral.

- A página Services configuration será aberta.
- Localize o painel Firebase Cloud Messaging.
- Selecione o botão Link a Sender ID, conforme mostrado na imagem a seguir.

- Use a chave de servidor do FCM que você recebeu (e salvou) ao usar o console do Firebase no capítulo anterior.
- Ao terminar, selecione o botão Link, conforme mostrado no nosso exemplo.

- Reserve um momento para verificar se a Sender ID exibida no Google Play Console corresponde à do Firebase Console, conforme mostrado no exemplo abaixo.

Capítulo 3: configurar o título do PlayFab
O objetivo deste capítulo é mostrar como configurar o PlayFab Services para que ele possa enviar notificações por push ao jogador em seu nome.- Primeiro, acesse Title settings no menu Settings do seu título.
- Selecione a guia Push Notifications.
- Para a opção Android, selecione o ícone Settings.

- Será solicitada sua Google server API key.
- Copie a que você recebeu pelo console do Firebase, conforme mostrado no exemplo abaixo.

- Se tudo estiver correto, será exibida uma página que mostra Push Notifications como Active.

Capítulo 4: configurar o projeto do Android Studio
Para usar o PlayFab JavaSDK, você precisará do PlayFab Client JavaSDK e de sua dependência, o Google GSON.- Baixe a biblioteca JAR do PlayFab client JavaSDK aqui.
-
Procure
client-sdk-*.jare o Java Doc correspondente, se precisar. - Baixe a versão mais recente do Google GSON.
-
Procure
gson-*.jar. - Mantenha os arquivos .jar mencionados à mão.
- Verifique se o Package name corresponde ao que você usou ao longo deste tutorial (no Firebase, por exemplo).
Para os fins deste exemplo, estamos usando com.foo.playfab.app, mas lembre-se de criar seu próprio nome de pacote e título ao seguir este tutorial.

- Selecione um Minimum SDK de sua escolha.
- Em seguida, selecione o botão Next.

- Selecione o modelo que você deseja usar.
- Em seguida, selecione o botão Next.

- Configure o modelo como desejar.
- Selecione o botão Finish.

- Mude para a guia Project (1).
No capítulo anterior, você baixou o arquivo de configuração
google-services.json do console do Firebase. Use-o na próxima etapa.- Verifique se esse arquivo está na pasta App (2).
- Em seguida, navegue até Tools (3).
- Selecione Firebase (4), conforme mostrado no exemplo abaixo.

- Localize a pasta Cloud Messaging e selecione Set up Firebase Cloud Messaging, conforme mostrado abaixo.

- No Firebase Notifications Assistant, selecione o botão Add FCM to your app (1), conforme mostrado na imagem a seguir.
- Uma caixa de diálogo será aberta indicando que novas dependências serão adicionadas por meio do Gradle.
- Selecione Accept Changes (2) para conceder as alterações.
Infelizmente, as dependências adicionadas automaticamente pelo processo de sincronização do Gradle (3) estão incorretas e relatarão falha!
-
Para configurar as dependências corretamente, substitua as instruções adicionadas automaticamente pelas seguintes:
implementation 'com.google.firebase:firebase-core:16.0.3
implementation 'com.google.firebase:firebase-messaging:17.0.0

- Verifique se o Firebase Notifications Assistant indica que as dependências agora estão configuradas corretamente (1).
No início deste capítulo, obtivemos os arquivos JAR necessários. Normalmente, o arquivo de build busca esses arquivos automaticamente.
- Para garantir que esses arquivos JAR estejam listados na pasta app/libs (2), selecione todos os arquivos e clique com o botão direito do mouse neles.
- Em seguida, escolha Add as library… (3), conforme mostrado no exemplo abaixo.

- Usando o Notification icon generator do Android Asset Studio, prepare os ícones e coloque-os em app/src/main/res.
- No exemplo mostrado abaixo, o ícone se chama ic_stat_blur_on.

- Por fim, selecione 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
A implementação atual foi elaborada para ser a mais curta possível, apenas para testar rapidamente as notificações. Consulte os guias do FCM para obter práticas recomendadas de alta qualidade e exemplos de implementação mais complexos.
AndroidManifest.xml
No código a seguir, substitua todos os espaços reservadosMY_PACKAGE_IDENTIFIER pelo seu próprio identificador de pacote.
MainActivity.java
Os seguintes espaços reservados no código devem ser substituídos de acordo com o seu cenário.-
PLAYFAB_TITLE_ID- Use a ID do seu título que você recebeu no PlayFab Game Manager.
-
PACKAGE_IDENTIFIER- Use o identificador de pacote Java que corresponde à sua configuração.
FooAppFirebaseInstanceIdService.java
O espaço reservado no código exibido abaixo deve ser substituído de acordo com o seu cenário.PACKAGE_IDENTIFIER- O identificador de pacote Java que corresponde à sua configuração.
FooAppFirebaseMessagingService.java
O espaço reservado no código mostrado abaixo deve ser substituído de acordo com o seu cenário.PACKAGE_IDENTIFIER- O identificador de pacote Java que corresponde à sua configuração.
Teste
Nesse ponto, você deverá conseguir implantar o aplicativo no dispositivo.- Depois que você iniciar o aplicativo, ele fará login automaticamente e se registrará para receber notificações por push.
- Selecione o botão Home no dispositivo para minimizar o aplicativo. Isso é importante, pois nos permite testar a notificação que chega à bandeja do sistema.
- Em seguida, acesse a página do Game Manager do seu título do PlayFab e use o Dashboard para localizar o Push Registration mais recente.
- Selecione a Player ID (1).

- Selecione o botão Send Push Notification (1).
- Digite o Title (2).
- Insira o corpo da mensagem (3).
- Confirme as alterações selecionando o botão Send Push Notification (4).

- Verifique se a mensagem chega ao seu dispositivo.

