在 Facebook 小游戏中如何以及在何处使用 FBInstant.updateAsync

How and where to use FBInstant.updateAsync in facebook instant game

我是小游戏新手。 请告诉我如何使用

FBInstant.updateAsync({
    action: 'CUSTOM',
    cta: 'Join The Fight',
    image: base,
    template: 'play_turn',
    text: 'Play your turn now',
    data: {
        myReplayData: '...',
        id: contextId
    },
    strategy: 'IMMEDIATE',
    notification: 'NO_PUSH',
}).then(
    () => {
        console.log('updateAsync() success!' + JSON.stringify(data));
        FBInstant.quit();
    },
    error => {
        console.error('updateAsync() ERROR! ' + JSON.stringify(error));
    }
);
}

我也设置了我的 fb 配置文件。

{
  "instant_games": {
"platform_version": "RICH_GAMEPLAY",

"custom_update_templates": {
  "play_turn": {
    "example": "Yolo just invaded village!"
      }
    }
  }
}

如何获取用户的 psid 以及如何向用户发送消息以重新参与。

自定义更新

从广义上讲,自定义更新应该是游戏会话的输出。例如。在 Words With Friends 中,每次播放一个单词时都会发送自定义更新。自定义更新出现在您正在玩游戏的 Messenger 对话中,也可能用于 Facebook 通知以自动重新吸引玩家(这​​不受开发者控制)。

您已经提供的代码应该足以发送自定义更新,但您必须image参数提供有效的 base 64 编码图像除外, 否则调用将失败。请注意,要成功发送自定义更新,您的游戏必须在小游戏播放器中运行(在 Messenger.com、Facebook.com 上或通过 Facebook 移动应用程序之一)。 Instant Games SDK 无法在 Facebook 之外使用。

机器人(重新参与)

您不需要 PSID 来发送自定义更新。您需要 PSID 才能通过 Messenger 机器人(如果有的话)向玩家发送消息。您可以在此处开始使用 Messenger 机器人:https://developers.facebook.com/docs/messenger-platform/

对于玩您游戏的所有用户,您的 Messenger 机器人应该会收到一个 game_play 网络钩子,其中包含他们的 PSID。