Actualizaciones de juegos a través de Messenger

Los juegos instantáneos de Facebook pueden tener vinculado un bot de la plataforma de Messenger. Aunque es opcional, le proporciona al juego un canal eficaz para volver a interactuar con las personas. Aquí se proporcionan instrucciones para crear y configurar el bot del juego.

Paso 1: Crear una página

Para crear el bot de un juego, primero necesitas crear una página de Facebook. La página debe cumplir algunos criterios específicos para funcionar correctamente con el juego instantáneo:

  • La categoría de la página debe ser Página de la app (y solo esa categoría).
  • El nombre de la página debe contener el nombre de la app.
  • La página no puede estar asociada con otra app.

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

  1. En el menú "Producto", amplía el menú desplegable Juegos instantáneos y selecciona Detalles.
  2. En la página "Detalles", busca la sección "Página de app" y haz clic en Crear nueva página.
  3. Ve a la sección "Página de app" del producto de juegos instantáneos. Antes de avanzar al siguiente paso, asegúrate de que la sección "Página de app" se vea como en el paso del lado derecho:

Nota: Si tu juego instantáneo no se asocia con una página como se explicó anteriormente, el bot no podrá recibir eventos de messaging_game_plays.

Paso 2: Activar el bot

Después de crear tu página, necesitarás asegurarte de responder a sus webhooks de mensajes. Los webhooks son llamadas HTTP que enviamos a tu sistema interno cuando un evento de mensaje se envía a tu página. Posteriormente, la lógica de tu servidor decidirá cómo responder a cada evento, si es pertinente hacerlo. Para asociar los extremos de tu servidor con los eventos de la página, sigue las instrucciones del Tutorial de inicio rápido de la plataforma de Messenger y activa el bot para tu página. En la siguiente tabla, encontrarás información sobre los webhooks y permisos que necesitarás para que tu bot funcione con 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 pueden usar mensajes estándar, pero no pages_messaging_subscriptions. Nota: no uses la etiqueta de mensajeGAME_EVENT cuando envíes mensajes de bot porque ya no se admite.

Si el bot tiene otra funcionalidad que requiere mensajes por suscripción o la segmentación por lista de clientes, debes crear una app independiente y solicitar nuevamente los permisos de la plataforma de Messenger.

Paso 3: Responder a los webhooks de messaging_game_plays

Cuando el bot esté correctamente configurado, tu app del servidor empezará a recibir webhooks de messaging_game_plays cada vez que un jugador cierre el juego instantáneo. A continuación, se proporciona un ejemplo de una app de servidor que detecta uno de estos webhooks y responde a él.

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

Consulta la documentación de la plataforma de Messenger para obtener más información sobre este webhook: Documentación del webhook "Partida de juego"

Paso 4: Lograr que los jugadores regresen al juego

A continuación, encontrarás un ejemplo de 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>" } } ] } ] } } } }'

Consulta la documentación de la plataforma de Messenger para obtener más información sobre este botón: Documentación del botón "Partida de juego"

Paso 5: Seguir nuestras normas y políticas

Antes de lanzar el bot del juego a la fase de producción, este debe pasar por el proceso de solicitud para la plataforma de Messenger. Asegúrate de consultar nuestra Lista de comprobación del bot antes de enviarlo para su revisión.

API de cuotas de actualizaciones del juego

Para confirmar el intervalo de tiempo y el número de actualizaciones de juego 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 del juego a través de Messenger, llamar a esta API devolverá el código de error 551, con el mensaje Esta persona no está disponible en este momento.
  2. Si no hay cuota disponible 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 compilar y optimizar tus actualizaciones de juegos mediante Messenger.

Siguientes pasos

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