javascriptphpfacebookhtml5-canvasfacebook-instant-games

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


I am new in instant games. Please tell me how I can user

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));
    }
);
}

I have set up my fb config file also.

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

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

How can I get psid of user and how can I send messages to user for re engagement.


Solution

  • Custom Updates

    Broadly speaking, a custom update should be the output of a game session. E.g. in Words With Friends a custom update is sent each time a word is played. The custom update appears in the Messenger conversation where you are playing the game, and may also be used in Facebook notifications to automatically re-engage players (this is not controllable by the developer).

    The code you have already supplied should be sufficient to send a custom update with the exception that you must supply a valid base 64 encoded image to the image parameter, or else the call will fail. Note that to send a custom update successfully your game has to be played in the Instant Games player (on Messenger.com, Facebook.com or through one of the Facebook mobile apps). The Instant Games SDK does not work outside of Facebook.

    A custom update from Words With Friends

    Bots (Re-engagement)

    You do not need the PSID to send custom updates. You would need the PSID to send messages to a player via your Messenger bot (if you have one). You can get started with Messenger bots here: https://developers.facebook.com/docs/messenger-platform/

    For all users who play your game, your Messenger bot should receive a game_play webhook which contains their PSID.