Facebook bot 没有收到 messaging_game_plays webhook 事件,即使 webhook 订阅了这些事件

Facebook bot not receiving messaging_game_plays webhook events even though webhook is subscribed to those events

我正在测试一个 Facebook 即时游戏应用程序,并希望我的机器人收集 messaging_game_plays 事件以在游戏会话结束时记录用户数据。

我已经设置了一个应用程序页面,应用程序,并上传了一个我已经进入测试阶段的版本。我还有一个带有 public webhook 的机器人,我已经成功验证了它。 Webhook 目前订阅了 messaging_game_playsmessages。我在机器人中内置了简单的回显功能,可以在我的 phone 上启动 Messenger 应用程序,向页面发送消息,并完美地接收到回显。

当我转到我的 Messenger 应用程序的游戏部分,玩游戏,然后退出游戏时出现问题。我希望我的机器人在每个 https://developers.facebook.com/docs/messenger-platform/reference/webhook-events/messaging_game_plays/ 时收到一个 messaging_game_plays 事件,但我在机器人服务器的日志中没有收到任何关于调用 webhook 的指示(即使等待了很长时间).

所以我的问题 is/questions 是: 我是否缺少将 messaging_game_plays 发送到我的机器人所需的东西?有什么我需要专门添加到我的应用程序构建中才能触发此事件吗?在我的 phone 上启动游戏并退出游戏是否足以测试此事件?

我搜索过论坛和文档,但没有成功,但也许我在这个过程中遗漏了一些东西。我已经检查了这个问题:,这帮助我成功触发了 正在 得到的 messages 事件,我似乎无法收集 [=11] =] 事件。

我对这个过程很陌生,所以我可能会遗漏一些小东西,我们将不胜感激任何帮助!

供参考:

应用 webhook 订阅

你的 fbapp-config.json 文件说了什么?如果您的 bot opt-in 参数是 'opt_in_dev''opt_in_public',您需要调用 subscribeBotAsync 方法让您的用户在发送任何 webhook 之前订阅 bot。

仅从 1 月 19 日起才需要选择加入 Messenger 机器人(参见此处:https://www.facebook.com/fbgaminghome/blog/important-game-bots-update)。

我们正在进行此更改以确保更好的玩家体验。

如果您想在不要求机器人选择加入的情况下传输玩家数据,您可以使用标准 JavaScript fetch/XMLHttpRequestgetSignedPlayerInfoAsync 来避免篡改。