К Моментальным играм можно привязать бот для платформы Messenger. Делать это не обязательно, однако бот поможет повторно вовлечь людей в игру. Ниже приведены инструкции по созданию и настройке игрового бота.
Чтобы создать бот для игры, сначала необходимо создать Страницу Facebook. Чтобы Страница могла взаимодействовать с Моментальной игрой, она должна удовлетворять ряду условий:
Чтобы создать такую страницу, откройте панель приложений и выполните перечисленные ниже действия.
![]() | ![]() |
Примечание. Если перечисленные выше требования не соблюдены, бот не сможет получать события messaging_game_plays.
Убедитесь, что вы можете отвечать на Webhooks событий отправки сообщений, полученных созданной вами Страницей. Webhooks — это вызовы HTTP, которые мы отправляем на ваш сервер, когда на вашу Страницу передается событие отправки сообщения. Затем логика вашего сервера определяет, как следует ответить на это событие, если отклик в данном случае целесообразен. Чтобы связать конечные точки своего сервера с событиями вашей Страницы, следуйте инструкциям из руководства по быстрому началу работы с платформой Messenger, чтобы включить бот для этой Страницы. В таблице ниже представлены Webhooks и разрешения, необходимые для того, чтобы бот работал с Моментальными играми:
| Раздел | Значения |
|---|---|
События Страницы |
|
Разрешения |
|
Боты Моментальных игр могут использовать только стандартную переписку, но не pages_messaging_subscriptions. Примечание. Не используйте тег сообщенийGAME_EVENT при отправке сообщений бота. Этот тег больше не поддерживается.
Если у вашего бота есть функции, использующие рассылку сообщений по подписке или поиск клиентов, создайте отдельное приложение и вновь запросите разрешения платформы Messenger.
messaging_game_playsКогда бот будет настроен, серверное приложение начнет получать Webhooks messaging_game_plays каждый раз, когда игрок закрывает Моментальную игру. В примере ниже серверное приложение распознает один из этих 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!'
);
}
}Подробнее об этом Webhook см. в документации по платформе Messenger: Документация о webhook "Запуск игры"
Ниже приведен пример отправки игрокам кнопки game_play через API Graph.
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>" } } ] } ] } } } }'
Подробнее об этой кнопке см. в документации по платформе Messenger: Документация о кнопке "Запуск игры"
Бот можно будет запустить только после того, как он пройдет проверку для платформы Messenger. Прежде чем отправлять бот на проверку, ознакомьтесь с нашим контрольным списком.
Чтобы подтвердить временное окно и количество обновлений игры для отправки пользователю, можно использовать 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};Чтобы узнать подробнее, как собирать и оптимизировать обновление игр через Messenger, обратитесь к перечисленным ниже документам.
Теперь вы знаете, как собирать моментальные игры с обновлением через Messenger. Пора протестировать вашу игру и подготовить ее к запуску: см. раздел Тестирование, публикация и предоставление доступа к моментальной игр