0

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

我已经设置了一个应用页面、应用程序,并上传了一个已移至测试阶段的构建。我还有一个已成功验证的带有公共 webhook 的机器人。该 webhook 目前已订阅messaging_game_plays以及messages. 我在机器人中内置了简单的回声功能,可以在我的手机上启动信使应用程序,向页面发送消息,并完美地接收回声。

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

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

我搜索了论坛和文档但没有运气,但也许我在此过程中错过了一些东西。我已经检查了这个问题:Facebook Messenger webhook setup, but not triggered,这帮助我成功触发了messages得到的事件,我似乎无法收集事件。messaging_game_plays

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

以供参考:

应用 webhook 订阅 应用 webhook 订阅

4

1 回答 1

3

你的fbapp-config.json文件说什么?如果您的机器人选择加入参数是'opt_in_dev',或者'opt_in_public'您将需要调用该subscribeBotAsync方法来为您的用户订阅机器人,然后才会发送任何 webhook。

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

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

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

于 2018-12-14T20:59:31.073 回答