今天更新了一款许久未动的抖音小游戏,加了个功能然后提交,心想稳如老狗,就一个小功能而已,结果没多久就一条短信通知,审核未通过。

于是进控制台,看到这玩意:
审核失败原因1
小游戏未配置侧边栏复访任务入口,或入口配置过深,不符合平台要求

侧边栏复访?这是个什么鬼玩意???翻文档吧,得知这是2023年11月24日后官方新的接入要求
在这里插入图片描述

好嘛,是不是以后抖音加了乱七八糟的功能都要开发者强制免费宣传啊…
没办法,既然要在字节平台混,就得按他们要求办事,文档说明比较齐全,从一脸懵逼到对接完成总计花了大约2小时

简单说明下流程是这样子的:
1.游戏主页面放置个新的按钮,取名叫“入口有奖”(差不多意思就行)
在这里插入图片描述

2.点击这个按钮,弹出窗体,该窗体告诉用户怎么从侧边栏进入
在这里插入图片描述
3.看到上图的“去侧边栏”按钮了吗,这个按钮是根据“用户是否从侧边栏进入”这个状态来控制显示的,如果用户不是从侧边栏进来的,就显示这个按钮,如果用户是从侧边栏进来的,那就显示“领取奖励”
在这里插入图片描述
按钮就会替换成“”领取奖励“
在这里插入图片描述
4.点击领取奖励,会下发游戏中的金币等,官方建议是做成每日任务,我这边弄的是每天领取一次

代码如下:

    private isFromSidebar = false //状态,表示是否从侧边栏进入
    @property({ type: Button })
    public btnSidebar: Button | null = null; //入口有礼按钮
    @property({ type: Node })
    public ndSidebar: Node | null = null; //入口有礼对话框
    @property({ type: Button })
    public btnGotoSidebar: Button | null = null; //去侧边栏按钮
    @property({ type: Button })
    public btnGetAward: Button | null = null; //领取奖励按钮
    start() {
        tt.onShow((res) => {
            //判断用户是否是从侧边栏进来的
            this.isFromSidebar = (res.launch_from == 'homepage' && res.location == 'sidebar_card')
            if(this.isFromSidebar){
                //如果是从侧边栏进来的,显示“领取奖励”按钮,隐藏“去侧边栏”
                this.btnGetAward.node.active = true
                this.btnGotoSidebar.node.active = false
            }
            else{
                //否则反之
                this.btnGetAward.node.active = false
                this.btnGotoSidebar.node.active = true
            }
        });
        //判断用户是否支持侧边栏进入功能,有些旧版的抖音没有侧边栏,这种情况就把入口有礼那个按钮给隐藏掉
        tt.checkScene({
            scene: "sidebar",
            success: (res) => {
                this.btnSidebar.node.active = true
            },
            fail: (res) => {
                this.btnSidebar.node.active = false
            }
        });
    }

    update(deltaTime: number) {

    }
    //点击入口有礼按钮,显示对话框
    onbtnOpenSideBarDialog(){
        this.ndSidebar.active = true
    }
    //关闭入口有礼对话框
    onbtnOpenSideBarCloseDialog(){
        this.ndSidebar.active = false
    }
    //去侧边栏按钮的逻辑
    onbtnGotoSidebarClick(){
        tt.navigateToScene({
            scene: "sidebar",
            success: (res) => {
                console.log("navigate to scene success");
                // 跳转成功回调逻辑
            },
            fail: (res) => {
                console.log("navigate to scene fail: ", res);
                this.showWarning('跳转失败,请稍后再试!')
                // 跳转失败回调逻辑
            },
        });
    }
    //领取奖励的逻辑,自己实现
    onbtnGetAwardClick(){
        //获取奖励的逻辑(记得控制领取次数,比如每天一次,因为侧边栏是可以无限进入的)
    }
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐