设置智能助手 小游戏的一项重要功能是能附加 Messenger 平台智能助手。这项功能虽为选择性配置,却为游戏提供了一个强有力的再参与渠道。以下指南说明了如何创建和设置游戏智能助手。 第 1 步:创建主页 如需创建游戏智能助手,您首先需要创建 Facebook 主页。主页要正确地与小游戏关联,需要具备一些特殊的属性: 主页类别需要是应用主页 主页名称需要包含应用名称。 主页不能与其他应用关联。 您可以前往“应用面板”,在小游戏产品的应用主页版块创建满足这些特殊条件的主页。 在执行下一步操作前,请确保应用主页版块如右图所示: 注意:如果小游戏未与上述类型的主页正确关联,智能助手将不会收到 messaging_game_plays 事件 第 2 步:激活智能助手 创建主页后,您需要确保响应其消息 webhooks。Webhooks 是在向您的主页发送消息事件时,我们向您的后端发送的 HTTP 调用。之后,您的服务器的逻辑将决定如何正确地响应每个事件(如果响应适用)。 如需将服务器的端点与主页事件相关联,请按照 Messenger 平台快速入门教程中的说明为主页启用智能助手。下表介绍了将智能助手与小游戏关联所需的 webhooks 和权限: 部分 值 主页事件 messages 和 messaging_game_plays 权限 pages_messaging 小游戏智能助手仅可使用标准消息和 GAME_EVENT消息标签,不能使用 pages_messaging_subscriptions。 如果您的智能助手具有需要用到订阅消息或客户匹配的其他功能,您应创建单独的应用并重新申请 Messenger 平台权限。 第 3 步:响应 messaging_game_plays webhooks 正确配置智能助手后,您的服务器端应用程序将开始在玩家每次关闭小游戏时接收 messaging_game_plays webhooks。下面是服务器端应用程序检测到并响应一个 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 文档。 第 4 步:吸引玩家重回游戏 以下是如何使用图谱 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 平台文档,详细了解此按钮:“玩游戏”按钮文档。 第 5 步:遵循我们的指南和政策 发布至生产阶段后,您的游戏智能助手应进入 Messenger 平台提交流程。提交智能助手之前,请确保遵守下面的最佳实践: 建议: 向玩家提供相关、及时且有价值的更新。如需获取更多信息,请访问我们的最佳实践版块。 给予用户掌控权(例如:让用户确认他们是否想要接收通知以及以接收的频率)。 对玩游戏按钮使用入口点数据,以环境相关的方式加载游戏。 为智能助手设置与游戏相同的名称。 利用社交更新,如回合提醒、比赛结果、限时奖励和挑战。 确保为玩家提供适当的奖励刺激,促使他们通过智能助手消息打开游戏。为此,您可使用消息负载为玩家提供有价值的游戏内奖励。一般来说,如果智能助手消息打开的是游戏的开始页面,这条消息便没有什么价值。 使用固定菜单提供常见操作,如启动游戏。 设置默认操作,在自定义更新中使用 game_play,以便整个图片都能将用户带入游戏中。 通过智能助手公布新功能或内容。 针对每位用户优化每天的消息发送时段,考虑用户所在的时区。 借鉴 Messenger 智能助手的通用最佳实践。 请勿: 在玩家关闭游戏后立即发送消息。 发送没有任何背景信息的消息再次吸引玩家(例如:“立即回到游戏中!”)。建议首选包含丰富背景信息的消息来重新吸引玩家(例如:“你的侦查员为你带回了更多信息”) 使用其他 Facebook 用户的口吻,或误导玩家以为他们好友在与他们沟通。 在用户屡次不想加入游戏的情况下继续向他们发送智能助手消息。这种情况将适用政策限制,并阻止您发送消息。当前的限制为,自最后一次游戏会话结束后 10 天最多可发送 5 条消息。如需详细了解,请参阅我们的开放平台政策文档中的第 9.4 条 将 messaging_type 设置为 RESPONSE 或 UPDATE 以外的其他任何值 链接至任何应用商店。 为方便大家群策群力,我们创建了一个 Facebook Instant Game 交流群:814298516 。 欢迎同学们加入交流开发和运营经验。
|