快手小游戏SDK接入

平台地址: 快手开放平台(拉到底部按步骤操作)
快手小游戏入驻指南: 快手开放平台
技术文档: 快手开放平台
1.发布成微信小游戏;
勾选 laya.wxmin.js
2.index文件中加渠道判断:
window.isKSGame$ = typeof KSGameGlobal != 'undefined';
3.分包加载:
(1)分包渠道判断:
    
/**
     * 加载分包
     * @param {*} packs
     * @param {*} callback
     */
    loadPackages$(packs, callback) {
        if (!packs || packs.length == 0) {
            callback && callback();
            return;
        }
        if (window.isKSGame$) {
            this.loadPacksKs$(packs, callback);
            return;
        }
        callback && callback();
    }

(2)实际分包代码:
 
 /**加载快手分包 */
    loadPacksKs$(packs, callback) {
        var vPack = packs.shift();
        if (!vPack) {
            callback && callback();
            return;
        }
        this.loadSinglePackKs$(vPack, packs, callback);
    }


    loadSinglePackKs$(vPack, packs, callback) {
        if (this.checkPackLoaded$(vPack, packs, callback)) return;
        ks.loadSubpackage({
            name: vPack, // name 可以填 name 或者 root
            success: this.onLoadedSinglePack$.bind(this, vPack, packs, callback),
            fail: function (res) {
                console.log("分包加载失败!!!!!重新加载", res);
            },
        });
    }

(3)检查分包进度:
    /**
     * 检测分包加载完成
     * @param {*} vPack
     * @param {*} packs
     * @param {*} callback
     * @returns
     */
    checkPackLoaded$(vPack, packs, callback) {
        if (this.loadedPacks$.indexOf(vPack) > -1) {
            console.log("loadSubpackage success again:" + vPack);
            this.loadPackages$(packs, callback);
            return true;
        }
    }
4.打包后项目根目录,新增文件:
game.js文件中引入该文件:
开发者工具:没有写作者,只能是项目管理员上传项目,开发者可以用测试号进行测试,只能真机测试  
    "appid": "kwai_game_test_appid",
快手小游戏视频id,建议写死:
ks.createRewardedVideoAd({ adUnitId: "2300001301_01"});
5.快手混淆打包的时候,需要勾选:laya.wxmini.js
6.没错,不只是视频id,插屏广告的id也应该写死:
7.常见广告报错:
8.判断宿主app平台:
if (window.ks && ks.getSystemInfo) {
            ks.getSystemInfo({
                success: function (res) {
                    console.log("当前的宿主平台111",res);
                    console.log("当前的宿主平台222",res.host);
                    console.log("当前的宿主平台....",res.host.env);
                    if (res.host.env === "kuaishou") {
                        this._isKUAISHOU$ = true;
                    }else if(res.host.env === "nebula"){
                        this._isKUAISHOU$ = false;
                    }
                    this._isKUAISHOU$ ? console.log("快手app") : console.log("快手极速版");
                }.bind(this),
            })
        }

猜你喜欢

转载自blog.csdn.net/woshiyuyanjia/article/details/134717941