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