Help Connecting to Facebook bot

Hello All,

I followed the initial Facebook tic tac toe game and I have it connecting to my server’s bot. It works.

I would like to do the same with phaser 3 or phaser 2. Facebook instant uses getSignedPlayerInfoAsync and I can’t find this in the phaser 3 api.

I also tried to look for some examples in github but didn’t find any regarding a facebook bot and phaser 2 or 3.

Can anyone give me a hint on how to connect to the bot with phaser? Or do I just do it the same way?

This is what I have for the Backend Client:

from game.js:

this.saveDataAsync = function() {
    var matchData = this._matchData;
    return new Promise(function(resolve, reject){
        console.log('going to save', JSON.stringify(matchData));
        FBInstant.player
        .getSignedPlayerInfoAsync(JSON.stringify(matchData))
        .then(function(result){
            return backendClient.save(
                FBInstant.context.getID(),
                result.getPlayerID(),
                result.getSignature()
            )
        })
        .then(function(){
            resolve(matchData);
        })
        .catch(function(error){
            reject(error);
        })
    });
}

from data.js

function backendClient(backendUrl) {
this.request = function(url, method, params) {
    var ignoreCache = function(url) {
        var randomNumber = Math.random();
        return url + '?ignore_cache=' + randomNumber
    }

return new Promise(function(resolve, reject) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {
                var json = JSON.parse(xmlhttp.responseText);
                if (json.success) {
                    resolve(json);
                } else {
                    reject(json.error);
                }
            }

        }
        xmlhttp.onerror = function(err) {
            reject(err);
        }
        xmlhttp.open(method, url, true);
        xmlhttp.setRequestHeader('Content-Type', 'application/json');
        xmlhttp.send(JSON.stringify(params));
    });

};

this.save = function(contextId, player, signature) {
    var url = backendUrl + '/save-match';
    var method = 'POST';
    var payload = {'contextId': contextId, 'signature': signature, 'player': player};
    return this.request(url, method, payload);
};

this.load = function(signature) {
    var url = backendUrl + '/get-match'
    var method = 'POST'
    var payload = {'signature': signature};
    return this.request(url, method, payload);
};

}