由于Cocos官方在2.4之后就不在内置FB Instant Game,所以需要接入就需要开发者自己手动接入。本人第一次接入,将接入流程记录如下。
1.Cocos 发布 web-mobile
2.修改index.html,本人因为要接入banner,所以用了编辑此文时较新的FB SDK版本
<script src="https://connect.facebook.net/en_US/fbinstant.7.0.js"></script>
3.修改application.js中的onGameStarted函数
function onGameStarted(cc, settings) {
window._CCSettings = undefined;
cc.view.resizeWithBrowserSize(true);
var launchScene = settings.launchScene; // load scene
FBInstant.initializeAsync().then(function(){
cc.director.preloadScene(launchScene, function(completedCount,totalCount) {
FBInstant.setLoadingProgress(100 * completedCount / totalCount);
}, function(){
FBInstant.startGameAsync().then(function(){
cc.director.loadScene(launchScene, null, function () {
cc.view.setDesignResolutionSize(1080, 1920, 1);
console.log("Success to load scene: ".concat(launchScene));
});
});
});
});
}
4.增加fbapp-config.json,以下配置只是随意的示例,具体请参考官方说明
Json配置官方说明
{
"instant_games":{
"platform_version" : "RICH_GAMEPLAY",
"orientation": "PORTRAIT",
"override_web_orientation": "PORTRAIT",
"navigation_menu_version": "NAV_FLOATING"
}
}
Facebook本地测试环境搭建:
Cocos官方文档
FB官方文档
搭建测试环境时遇到一个问题,cert.pem的文件在windows上生成失败,本人在Linux上生成的
广告接入参考资料:
激励视频与插屏广告接入示例
banner接口
本地测试测试环境中遇到广告看不到的情况,先在FB后台发布测试环境,手机上看到广告后本地测试就能正常看到广告了。