Atualizações de jogo via Messenger

Os jogos instantâneos do Facebook podem ter um bot da Plataforma do Messenger associado. Embora isso seja opcional, proporciona ao seu jogo um canal poderoso para reenvolvimento. Veja a seguir como criar e configurar o bot de seu jogo:

Etapa 1: Criar uma Página

Para criar um bot de jogo, primeiro é preciso criar uma Página do Facebook. Para que a página funcione corretamente com seu Jogo Instantâneo, é preciso que ele atenda a alguns critérios específicos:

  • A categoria da página precisa ser Página de aplicativo (apenas essa categoria)
  • O nome da página precisa conter o nome do aplicativo.
  • A página não pode estar associada a outro aplicativo.

Para criar uma página com esses critérios, acesse seu Painel de Aplicativos e siga estas etapas:

  1. No menu Produto, expanda o menu suspenso Jogos Instantâneos e selecione Detalhes
  2. Na página Detalhes, encontre a seção com título Página do aplicativo e clique em Criar nova página
  3. Acesse a seção Página de aplicativo do produto Jogos Instantâneos. Antes de passar para a próxima etapa, verifique se a seção Página de aplicativo está igual à etapa à direita:

Nota: se o seu Jogo Instantâneo não estiver associado corretamente a uma página, como explicado anteriormente, o bot não poderá receber eventos messaging_game_plays.

Etapa 2: Ativar o bot

Depois de criar sua página, será preciso responder aos webhooks de mensagem. Webhooks são chamadas HTTP que enviamos ao seu backend quando um evento de mensagem é enviado à Página. A lógica de seu servidor decidirá, então, como responder corretamente a cada evento, se uma resposta for adequada. Para associar os pontos de extremidade do servidor aos eventos da Página, siga as instruções do Tutorial de início rápido da Plataforma do Messenger para ativar o bot de sua Página. A tabela abaixo contém informações sobre os webhooks e as permissões necessárias para que o bot funcione com os Jogos Instantâneos:

Seção Valores

Eventos da Página

messages e messaging_game_plays

Permissões

pages_messaging

Os bots dos Jogos Instantâneos só podem usar as mensagens padrão, mas não pages_messaging_subscriptions. Observação: não use a tag de mensagemGAME_EVENT ao enviar mensagens de bot, pois essa compatibilidade não existe mais.

Se o bot tiver outras funcionalidades que exigirem mensagens por assinatura ou correspondência de clientes, será preciso criar um aplicativo separado e solicitar as permissões da Plataforma do Messenger outra vez.

Etapa 3: Responder aos webhooks messaging_game_plays

Quando o bot estiver configurado corretamente, o aplicativo do servidor começará a receber webhooks messaging_game_plays sempre que um jogador fechar o Jogo Instantâneo. Veja abaixo um exemplo de um aplicativo de servidor detectando e respondendo a um desses webhooks.

if (event.game_play) {
  var senderId = event.sender.id; // Messenger sender id
  var playerId = event.game_play.player_id; // Instant Games player id
  var contextId = event.game_play.context_id; 
  var payload = event.game_play.payload;
  var playerWon = payload['playerWon'];
  if (playerWon) {
    sendMessage(
      senderId, 
      contextId, 
      'Congratulations on your victory!', 
      'Play Again'
    );

  } else {
    sendMessage(
      senderId, 
      contextId, 
      'Better luck next time!', 
      'Rematch!'
    );
  }
}

Consulte mais informações na documentação da Plataforma do Messenger sobre este webhook: Documentação do webhook de sessão de jogo

Etapa 4: Levar os jogadores de volta ao jogo

Veja abaixo um exemplo de como utilizar a Graph API para enviar um botão game_play a seus jogadores.

curl "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>" -X POST -H "Content-Type: application/json" -d '{ "messaging_type": "UPDATE", "recipient": { "id": "<RECIPIENT_ID>" }, "message": { "attachment": { "type": "template", "payload": { "template_type": "generic", "elements": [ { "title": "It has been a while since your last game. Time to get back", "buttons": [ { "type": "game_play", "title": "Play Tic-Tac-Toe.", "payload": "{}", "game_metadata": { "context_id": "<CONTEXT_ID>" } } ] } ] } } } }'

Consulte a documentação da Plataforma do Messenger para mais informações sobre esse botão: Documentação do botão de sessão de jogo

Etapa 5: Seguir nossas diretrizes e políticas

Antes de ser lançado para produção, o bot de seu jogo deverá passar pelo processo de envio para a Plataforma do Messenger. Veja nossa Lista de verificação do bot antes de enviá-lo para análise.

API de Cota de Atualizações de Jogo

Para confirmar a frequência e o número de atualizações de jogo que podem ser enviadas a um usuário, você pode usar a API de game_bots_quota.

GET graph.facebook.com/me?fields=game_bots_quota.recipient_id(<PSID>)&access_token=<page_access_token>

Resposta

"game_bots_quota": {
    "count": {a number indicating the remaining number of Game Updates that can be sent to a given user},
    "time_window": {a number indicating the remaining time that your game can send Game Updates to a given user},
}

Mais contexto

  1. Se o usuário não for assinante das atualizações de jogo via Messenger, as chamadas para essa API retornarão o código de erro 551, com a mensagem Esta pessoa não está disponível no momento.
  2. Caso não haja mais cota disponível para o usuário, a resposta será {count: 0, time_window: 0}.

Referências

Consulte os documentos abaixo para saber como criar e otimizar as atualizações de jogo via Messenger.

Próximas etapas

Agora que você já sabe criar um Jogo Instantâneo com uma atualização associada, chegou a hora de testar e se preparar para o lançamento: Como testar, publicar e compartilhar um jogo instantâneo