Facebook 小游戏可以附加 Messenger 平台智能助手。这项功能虽为可选配置,却为游戏吸引玩家再次参与提供了有效的渠道。以下说明如何创建和设置游戏智能助手:
如需创建游戏智能助手,您首先需要创建 Facebook 主页。为了让主页与小游戏正确关联,主页需要符合一些特定条件:
如要创建符合这些条件的主页,请访问您的“应用面板”,并按以下步骤操作:
请注意:如果小游戏未与上述类型的主页正确关联,智能助手将无法收到 messaging_game_plays
事件。
创建主页后,您需要确保响应其消息 Webhooks。Webhooks 是在向您的主页发送消息事件时,我们向您的后端发送的 HTTP 调用。之后,您的服务器的逻辑将决定如何正确地响应每个事件(如果响应适当)。如需将服务器的端点与主页事件相关联,请按照 Messenger 平台快速入门教程中的说明为主页启用智能助手。下表介绍了将智能助手与小游戏关联所需的 Webhooks 和权限:
部分 | 值 |
---|---|
主页事件 |
|
权限 |
|
messaging_game_plays
Webhooks正确配置智能助手后,您的服务器端应用程序将开始在玩家每次关闭小游戏时接收 messaging_game_plays
Webhook。下方示例展示服务器端应用程序检测到其中一个 Webhook 并发出响应的情形。
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!' ); } }
您可以参阅 Messenger 平台文档,了解有关 Webhook 的详细信息:“玩游戏”Webhook 文档。
下方示例说明如何使用图谱 API 向玩家发送 game_play 按钮。
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 平台提交流程。提交审核前,请务必查看我们的智能助手检查表。
如要确认可向用户发送游戏更新的时间范围和数量,可使用 game_bots_quota
API。
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 创建和设置的游戏更新来构建小游戏后,现在便可测试小游戏并做好发布准备了:测试、发布和分享您的小游戏