懵新對(duì)接時(shí)facebook小游戲文檔按要求跑流程。賬號(hào)每次都是在一兩天被莫名其妙的上傳照片,驗(yàn)證收不到等問(wèn)題。所有問(wèn)題都是: vpn的IP不固定,或者不穩(wěn)定造成的!前期一定要把賬號(hào)穩(wěn)定。?。。。?br>
一.代碼邏輯:
1.初始化(后面所有接口都在完成后操作)
FBInstant.initializeAsync().then(function () {});
2.平臺(tái)區(qū)分
FBInstant.getPlatform() /**WEB/IOS/ANDROID/MOBILE_WEB*/
3.進(jìn)度
FBInstant.setLoadingProgress(progress);
4.用戶(hù)信息
FBInstant.startGameAsync().then(function () {
this.contextId = FBInstant.context.getID();
this.contextType = FBInstant.context.getType();
this.playerName = FBInstant.player.getName();
this.playerPic = FBInstant.player.getPhoto();
this.playerId = FBInstant.player.getID();
});
5.分享
FBInstant.shareAsync({
intent: 'REQUEST',
image: base64,
text: "Come and play together",
data: shareData.data,/**分享額外數(shù)據(jù)*/
}).then(function () {
});
6.base64處理
Base64: function (src, callback) {
let img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function () {
let canvas = document.createElement('CANVAS');
canvas.height = 533;
canvas.width = 960;
canvas.getContext('2d').drawImage(this, 0, 0, 960, 533);
return callback(canvas.toDataURL());
};
img.src = src;
}
7.廣告(插屏,視頻基本邏輯差不多) --->下面以插屏廣告為例子
/**AdPreloadArray 存放廣告Id數(shù)組 AdIdArray存放預(yù)加載實(shí)例化*/
for (var i = 0; i < AdPreloadArray.length; i++) {
this.interstitialAd(AdPreloadArray[i], i);
}
interstitialAd: function (adId, i) {
FBInstant.getInterstitialAdAsync(adId).then(function (interstitial) {
AdIdArray.push(interstitial);
}).then(function () {
}).catch(function (error) {
});
預(yù)加載
preload: function (posId, callback) {
console.log("posId===", posId, AdIdArray);
if (AdIdArray.length != 0)
AdIdArray[posId].loadAsync().then(function () {
return callback(true, "Interstitial ready");
}).catch(function (error) {
return callback(false, error.message);
});
},
顯示
ShowAd: function (posId, callback) {
if (AdIdArray.length != 0)
AdIdArray[posId].showAsync().then(function () {
return callback(true, "Interstitial watched!");
}).catch(function (error) {
return callback(false, error.message);
});
}
8.上報(bào)信息
FBInstant.logEvent(eventName, value, parameters);
9.好友一起耍
var player = FBInstant.player.getName();
FBInstant.context.chooseAsync().then(function () {
FBInstant.updateAsync({
action: "CUSTOM",
cta: "Join Now",
template: "play_with_friends",
text: { default: player + "invited you to play Fantasy Clash" },
image:base64,})
})