Actualizaciones de juegos mediante Messenger

Los juegos instantáneos pueden tener asociado un bot de la plataforma de Messenger. Aunque se trata de una función opcional, tener un bot asociado convierte tu juego en un canal muy eficaz para volver a interactuar con los usuarios. A continuación, se explica cómo crear y configurar el bot de juego:

Paso 1: Crear una página

Para crear un bot de juego, primero debes crear una página de Facebook. Para que la página funcione correctamente con tu juego instantáneo, debe cumplir unos criterios concretos:

  • La categoría de la página debe ser Página de aplicación (y solo esa).
  • El nombre de la página debe incluir el nombre de la aplicación.
  • La página no puede estar asociada a otra aplicación.

Para crear una página con estos criterios, visita el panel de aplicaciones y realiza estos pasos:

  1. En el menú "Producto", expande el menú desplegable "Juegos instantáneos" y selecciona Detalles.
  2. En la página "Detalles", busca la sección titulada "Página de la aplicación" y haz clic en Crear página nueva.
  3. Accede a la sección "Página de la aplicación" del producto "Juegos instantáneos". Antes de continuar con el siguiente paso, asegúrate de que la sección "Página de la aplicación" tiene el mismo aspecto del paso de la derecha.

Nota: Si el juego instantáneo no está asociado correctamente a una página como se ha explicado anteriormente, el bot no podrá recibir los eventos messaging_game_plays.

Paso 2: activar el bot

Después de crear la página, es importante que respondas a sus webhooks de mensajes. Los webhooks son llamadas HTTP que enviamos a tu back-end cuando se envía un evento de mensajes a tu página. En ese momento, la lógica del servidor decidirá cómo responder correctamente a cada evento, cuando corresponda. Para asociar los extremos de tu servidor con los eventos de tu página, sigue las instrucciones que se ofrecen en el tutorial de inicio rápido de la plataforma de Messenger y activa el bot para tu página. En la tabla siguiente se incluye información sobre los webhooks y permisos necesarios para que el bot funcione con los juegos instantáneos.

Sección Valores

Eventos de la página

messages y messaging_game_plays

Permisos

pages_messaging

Los bots de juegos instantáneos solo tienen permiso para utilizar mensajes estándar, pero no pages_messaging_subscriptions. Nota: No uses la etiqueta de mensajeGAME_EVENT para enviar mensajes de bot; ya no se admite.

Si tu bot tiene una funcionalidad para la que sean necesarios los mensajes de suscripción o la correspondencia de clientes, deberías crear una aplicación independiente y volver a solicitar los permisos de la plataforma de Messenger.

Paso 3: responder a los webhooks messaging_game_plays

Después de configurar el bot correctamente, la aplicación del servidor empezará a recibir webhooks messaging_game_plays cada vez que un jugador cierre el juego instantáneo. A continuación se incluye un ejemplo de una aplicación de servidor que detecta uno de estos webhooks y responde adecuadamente.

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!'
    );
  }
}

Puedes consultar la documentación de la plataforma de Messenger para obtener más información sobre este webhook: Documentación del webhook “Game Play”.

Paso 4: Conseguir que los jugadores vuelvan a jugar

En el siguiente ejemplo se muestra cómo usar la API Graph para enviar un botón “game_play” a tus jugadores.

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>" } } ] } ] } } } }'

Puedes consultar la documentación de la plataforma de Messenger para obtener más información sobre este botón: Documentación del botón “Game Play”

Paso 5: seguir nuestras directrices y políticas

Antes de pasar a la fase de producción, el bot de juego debe superar el proceso de solicitud de la plataforma de Messenger. No olvides echar un vistazo a la lista de comprobación para bots antes de enviarlo para su revisión.

API de cuotas de actualizaciones de juegos

Para confirmar el intervalo de tiempo y el número de actualizaciones de juegos que se pueden enviar a un usuario, puedes usar la API game_bots_quota.

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

Respuesta

"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},
}

Más contexto

  1. Si el usuario no está suscrito a las actualizaciones de juegos mediante Messenger, al llamar a esta API se devolverá el código de error 551 con el mensaje Esta persona no está disponible en este momento.
  2. Si no queda cuota para el usuario, la respuesta será {count: 0, time_window: 0}.

Referencias

Consulta los siguientes documentos para obtener más información sobre cómo crear y optimizar las actualizaciones de juegos mediante Messenger.

Siguientes pasos

Ahora que ya sabes cómo crear un juego instantáneo con una actualización del juego mediante Messenger asociada, es el momento de probarlo y prepararse para el lanzamiento: Probar, publicar y compartir un juego instantáneo