Facebook小游戏对接总结

懵新对接时facebook小游戏文档按要求跑流程。账号每次都是在一两天被莫名其妙的上传照片,验证收不到等问题。所有问题都是: vpn的IP不固定,或者不稳定造成的!前期一定要把账号稳定。住!!!
一.代码逻辑:
1.初始化(后面所有接口都在完成后操作)

FBInstant.initializeAsync().then(function () {});

2.平台区分

FBInstant.getPlatform() /**WEB/IOS/ANDROID/MOBILE_WEB*/

3.进度

FBInstant.setLoadingProgress(progress);

4.用户信息

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,/**分享额外数据*/
    }).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数组 AdIdArray存放预加载实例化*/
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) {
        });

预加载

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.上报信息

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,})
            })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 后台配置-Facebook小游戏 1.简介 本文档主要是说明如何在Facebook配置Facebook小游戏所用到...
    af49bf676d38阅读 2,727评论 0 0
  • 管理究竟是什么东西?如果照本宣科的说,那么管理就是为了完成个人无法完成的目标,结合资源,运用管理职能的社会活...
    双双_19e1阅读 1,238评论 1 0
  • 当大雪封山 我愿做去一个潜水艇司机 在她柔软的肉体里 肆意翻滚,咆哮 去放纵钢铁一般的意志 除非,它被搁浅 看雪白...
    灿7阅读 546评论 2 5
  • 当地平线上的第一缕阳光升起的时候,标志着新的一天的到来。当山头落日最后一抹斜晖消失的那一刹那,明天即将又要开始。大...
    夏日娃阅读 302评论 1 1