К Моментальным играм можно привязать бот для платформы 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. Пора протестировать вашу игру и подготовить ее к запуску: см. раздел Тестирование, публикация и предоставление доступа к моментальной игр