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:
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:
Para crear una página con estos criterios, visita el panel de aplicaciones y realiza estos pasos:
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
.
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 |
|
Permisos |
|
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.
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”.
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”
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.
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>
"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},
}
{count: 0, time_window: 0}
.Consulta los siguientes documentos para obtener más información sobre cómo crear y optimizar las actualizaciones de juegos mediante Messenger.
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