首页 > 其他分享 >如何用 CocosCreator 对接抖音小游戏的侧边栏复访

如何用 CocosCreator 对接抖音小游戏的侧边栏复访

时间:2024-08-08 10:08:02浏览次数:15  
标签:cc 侧边 CocosCreator 小游戏 按钮 active null 栏复访 抖音

前言

最近小游戏的软著下来了,用 CocosCreator 做的游戏也完成了 1.0 版本。而当我打包成抖音小游戏进行提交时,还没到初审就给拒了,因为还有一个机审,机器检测到代码中没有接入 “侧边栏复访功能”。这个我还真不知道,那只能去官方看文档了,位置是小游戏开发文档 -> 指南 -> 开放能力 -> 侧边栏能力。

 

简介

侧边栏复访能力是在「2023 年 11 月 24 日」起就开启了「必接审核」,为什么要这样做呢?原来是随着抖音首页侧边栏的日活不断增高,平台也积极引导用户养成从首页侧边栏进入游戏的习惯而做的要求。这样可以大幅提升次留、7 留,反正就是你好我好大家好的局面,接就对了。

文档我也大概看了,大概的流程就是打开游戏后,判断是不是侧边栏进来,是的话就相当老用户给他一些奖励,不是的话给一些引导弹窗,让用户触发打开侧边栏。而文档里的方案示例大部分也都有奖励领取环节,但是我这个目前是单机,奖励肯定是没有的,那怎么办,于是我就做了一些简化。

 

流程

  • 创建去侧边栏按钮和引导层
  • 对接抖音提供的方法检测和跳转
  • 打包后去抖音开发工具调测

 

操作

创建去侧边栏按钮

打开游戏场景画布,找到主界面面板,分别添加 “去侧边栏按钮节点” ,添加图文素材。

 

创建引导层节点

继续在主界面下添加引导层空白节点,就是展示一个遮罩,一个引导图片和跳转侧边栏和关闭按钮。遮罩层的添加方式是给节点新增 sprint 组件,组件的 sprite Frame 选择 ”internal"->"image"->"default_btn_disabled",其他的按钮就是自己的 UI 图标了。

 

在主界面脚本中挂载节点

就是将去侧边栏和引导图层,跳转复访等绑定触发事件。

 

主要代码

import gameManager from "./gameManager";

const {ccclass, property} = cc._decorator;

@ccclass
export default class startPanel extends cc.Component {

    // 抖音侧边栏复访
    private isFromSidebar = false //状态,表示是否从侧边栏进入

    @property(cc.Node)
    public btnSidebar: cc.Node | null = null; // 入口有礼按钮

    @property(cc.Node)
    public ndSidebar: cc.Node | null = null; // 侧边栏引导对话框

    @property(cc.Node)
    public btnGotoSidebar: cc.Node | null = null; //去侧边栏按钮

    @property(cc.Node)
    public btnCloseSidebar: cc.Node | null = null; // 关闭侧边栏引导对话框

    private game:gameManager = null;

    init(game:gameManager) {
        this.game = game
    }

    onl oad() {
        this.game.startAudio();
    }

    // 弹出侧边栏引导框
    private showDialogBox() {
        // 显示引导层,隐藏开始按钮
        this.ndSidebar.active = true;
        this.startBtn.active = false;
    }

    // 关闭侧边栏对话框
    private closeSidebar() {
        this.ndSidebar.active = false;
        this.startBtn.active = true;
    }

    // 自动跳转侧边栏
    private gotoSidebar() {
        this.ndSidebar.active = false;
        this.startBtn.active = true;

        // 抖音小游戏侧边栏跳转逻辑
        tt.navigateToScene({
            scene: "sidebar",
            success: (res) => {
                console.log("navigate to scene success");
                // 跳转成功回调逻辑
            },
            fail: (res) => {
                console.log("navigate to scene fail: ", res);
                // 跳转失败回调逻辑
            },
        });
    }

    start() {
        // --侧边栏按钮判断--//
        tt.onShow((res) => {
            //判断用户是否是从侧边栏进来的
            this.isFromSidebar = (res.launch_from == 'homepage' && res.location == 'sidebar_card')

            if (this.isFromSidebar) {
                //如果是从侧边栏进来的,隐藏“去侧边栏”
                this.btnSidebar.active = false
            }
            else {
                //否则 显示“去侧边栏”按钮
                this.btnSidebar.active = true
            }
        });

        //判断用户是否支持侧边栏进入功能,有些旧版的抖音没有侧边栏,这种情况就把入口有礼那个按钮给隐藏掉
		// 因为我引导层默认就是隐藏,所以这部分可以不用判断
        /*tt.checkScene({
            scene: "sidebar",
            success: (res) => {
                this.btnSidebar.node.active = true
            },
            fail: (res) => {
                this.btnSidebar.node.active = false
            }
        });*/
        // --侧边栏按钮判断--//

        // 显示侧边栏引导框
        this.btnSidebar.on('touchstart', this.showDialogBox, this);

        // 关闭侧边栏引导对话框
        this.btnCloseSidebar.on('touchstart', this.closeSidebar, this);

        // 点击进入抖音侧边栏
        this.btnGotoSidebar.on('touchstart', this.gotoSidebar, this);
    }
}

  

写在后面

这样操作下来,你会发现接入这个侧边栏功能并不复杂,其实就相当于做了一个弹窗效果。麻烦的是在 CocosCreator 中添加抖音里内部方法不能马上调试,而是要打完包再放到抖音开发者工具中测试,遇到报错又改打包测试再改。还有一个是官方的文档的举例是用了一个最复杂的方式,其实对于我们单机的小游戏就只是引导一下,没有复访奖励什么的!

 

标签:cc,侧边,CocosCreator,小游戏,按钮,active,null,栏复访,抖音
From: https://www.cnblogs.com/zerofc/p/18348371

相关文章

  • C语言实现猜数字小游戏
    游戏要求:1.电脑自动生成1-100的随机数2.玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了还是小了的反馈,直到猜对游戏结束1.随机数的生产C语言提供了一个函数叫rand,这个函数可以生产随机数,函数的原型如下所示:rand函数会返回一个伪随机数,这个随机数的大小是在0-32767(......
  • PuerTS和HybridCLR哪个更适合开发微信小游戏
    1)PuerTS和HybridCLR哪个更适合开发微信小游戏2)使用了PlayAssetDelivery提交版本被Google报错3)怎样设置normalize来改变摄像机位置4)如何禁用增强型输入法中除某些输入操作之外的输入操作这是第397篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术......
  • [C++] 小游戏 决战苍穹 2.12.3版本 zty出品
       大家好,各位看到这个标题,斗破苍穹什么时候改叫决战苍穹了?其实,因为版权等一系列问题,斗破苍穹正式改名为决战苍穹,2.12.3版本主要更新内容为解决了皇冠竞技场太过影响游戏平衡,并且提高了一些装备的基础数值先赞后看,养成习惯CODE:#include<stdio.h>#include<iostream>#in......
  • 超好玩洛谷小游戏大全,好玩到停不下来(用洛谷的人都必须要知道,程序猿、OIer必备)
    Game啊你颓废了快点这个<tuifei break>{\color{White}\colorbox{Pink}{<tuifeibreak>}}<tuifei b......
  • web小游戏开发:拼图(完)完整代码展示
    web小游戏开发:拼图(完)关于不规则图形拼图的讨论CANVASdrawImage踩坑第一个坑,canvas内置画布的宽高和实际显示的宽高没有关联第二个坑,来源图片的尺寸切割不规则图形完整代码htmlcssjs关于不规则图形拼图的讨论在开始制作这个拼图之前,我们就已......
  • JAVA程序设计——二维小游戏制作
    二维小游戏制作一、课题内容和要求1.课题内容:(1)学生需要针对游戏类应用软件(如数独,扫雷,飞机大战,贪食蛇,青蛙过河等,鼓励自己设计开发游戏)的开发,使用互联网信息检索工具,查找和学习游戏类软件开发相关理论,分析和研究开放源代码;选择合适的JAVA开发工具完成软件项目的创建,代码编写......
  • Java实现拼图小游戏
        Java中的图形化界面使用得是比较少的,但是可以用来结合前期学习的面向对象编程的思想,通过图形化的呈现,创造一个拼图小游戏。    主要用的到的包:importjavax.swing.*;importjavax.swing.border.BevelBorder;importjava.awt.event.ActionEvent;import......
  • C语言经典小游戏之三子棋
    目录一、代码思路二、代码实现1.菜单2.实现棋盘3.玩家下棋 4.电脑下棋5.判断输赢三、代码1.game.h代码3.game.c代码3.test.c代码 一、代码思路首先需要创建三个文件:test.c    //用于测试游戏的逻辑性game.c  //游戏代码的实现game.h  //游......
  • 简单的扫雷——基于C语言的控制台小游戏
    前言:  “将大象装进冰箱要几步?--打开冰箱,把大象放进去,关上冰箱。”  同样的,该扫雷游戏的编写过程也只需三步:逻辑梳理-代码实现-运行调试。本文将使用C语言来一步步剖析并完成扫雷这一案例。一.扫雷的游戏逻辑  该扫雷的游戏逻辑为:  1.生成棋盘,并布置数个......
  • 编写一个数字炸弹的中断小游戏
    利用分支语句。循环语句来实现。要求达到如下效果:主要理解代码中的逻辑思路。完整代码如下所示:#include<stdio.h>intmain(intargc,charconst*argv[]){inta,b;inti=1;intj=100;printf("数字炸弹1-100\n");printf("输入666游戏结束\n");......