百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

揭秘!你玩的字节抖音小游戏制作流程公布

liuian 2025-03-23 21:06 51 浏览

  • 1.1 注册字节开发者后台
  • 1.2 Unity版本说明
  • 1.3 检查AppID是否有效
  • 2.1 创建项目
  • 2.2 接入SDK
  • 3.1 发布安卓Apk
  • 3.2 发布双端WebGL
  • 3.3 IOS15.4版本问题

字节抖音小游戏是一种基于字节跳动产品生态开发且无需下载安装即可使用的全新游戏应用,实现了客户端“点开即玩”的优质用户体验。小游戏拥有开发轻便快捷,发布流程简单的特点,同时依托字节跳动生态优势,让小游戏天然具备较强的内容分发能力,支持小游戏开发者快速推广与变现。

一,准备工作

1.1 注册字节开发者后台

进入字节小程序开发者后台,在开发者平台中点击右上角的「快捷登录」进行帐号注册。在登录后需要通过【申请创建】提示完成申请流程即可。

然后等着字节小游戏通过注册时的手机号或邮箱给予的答复。工作日提交的话一般在几个小时之内就有答复,最长时间为两个工作日之内。

注册后按照要求填写资质信息:公司就写企业全称,个人开发者填写个人姓名,然后其他内容根据要求填写。

其中需要注意的是小游戏体验路径:一般是一个可用的测试链接或者是一个网盘地址里面放一个可以玩的apk。(我们写过苹果商店地址审核失败了,应该是IOS的不行)


1.2 Unity版本说明

如果使用 natvie 方案:确认游戏工程运行在 Unity 2019.4.8f1 或者 Unity 2019.4.35f1

如果使用 wasm 方案:建议使用 unity 最新版,比如 2021.2 之后的版本,在 wasm 方面做了很多优化

可以用 2019.4.8 构建 native 版本,用 2021.x 构建 wasm,一起发布。

我前几天测试了2019.4.35f1c1,2019.4.8f1,Unity2021.3.3f1c1版本都是可以使用的,

不过在7月26号看到有开发者反馈说2019.4.8f1不好用了,官方回复:最近因为Android 12 的普及新增崩溃太多了,所以发新版需要升级了。

因为插件本身也在开发中,所以建议在开发是加入意见反馈群(在官方文档文末),及时关注动态,以免重复趟坑。

我这里用的是Unity2021.3.3f1c1版本:

发布Android就在下载时添加:Android Build Support 模块:

发布WebGL的话就在下载时添加:WebGL Build Support 模块: (想上线IOS的话只能使用WebGL的方式进行发布)

1.3 检查AppID是否有效

审核通过后就可以在应用中心看一个以07结尾且长度是20位AppID,若不是需要重新申请(后面打包时用)


二,开始集成

2.1 创建项目

下载字节SDK:开发者后台,建议先读一遍文档,因为当你看的时候有可能有更新:

导入后在工具栏选:ByteGame --> ByteGame Develop Tools

打开后下载:StarkSDKStarkSDKUnityTools两个包:

下载完成后目录大致如下:


2.2 接入SDK

发布抖音小游戏,只需要一个录屏分享功能即可上线。所以这里只提供录屏和分享功能示例,其他功能可按需接入,官方文档地址。

逻辑也非常简单,创建三个按钮分别为开始游戏,游戏结束,分享录屏来模拟游戏过程中的功能实现;带有详细注释的接入代码如下:

using System.Collections;
using System.Collections.Generic;
using StarkSDKSpace;
using UnityEngine;
using UnityEngine.UI;

public class StarkSDKTest : MonoBehaviour
{
    public Button startBtn;
    public Button endBtn;
    public Button shareBtn;
 
    void Start()
    {
        startBtn.onClick.AddListener(StartVideo);
        endBtn.onClick.AddListener(StopVideo);
        shareBtn.onClick.AddListener(ShareVideo);
    }

    void StartVideo()
    {
        Debug.Log("抖音 开启录制视频 ...");
        // 是否录制声音,默认为录制声音
        // 最大录制时长,单位 s。小于等于 0 则无限制。默认为10分钟
        // 视频录制开始回调
        // 视频录制失败回调
        bool isStart = StarkSDK.API.GetStarkGameRecorder().StartRecord(true, 200,
            StartCallback, FailedCallback, SuccessCallback);
        Debug.Log("视频开启录制结果 ..." + isStart);
    }

    void StopVideo()
    {
        Debug.Log("抖音 停止录制视频 ...");
        bool isStop = StarkSDK.API.GetStarkGameRecorder().StopRecord(SuccessCallback, FailedCallback, null, false);
        Debug.Log("停止录制视频状态 ..." + isStop);
    }

    void StartCallback()
    {
        Debug.Log("视频开始录制回调执行 ...");
        // 开始回调逻辑,比如:显示录屏中按钮
    }

    void FailedCallback(int errCode, string errMsg)
    {
        Debug.Log("录制视频失败回调执行 ... 错误码是:" + errCode + " ,错误消息是:" + errMsg);
        // 失败回调逻辑,比如:隐藏录屏中按钮
    }

    void SuccessCallback(string videoPath)
    {
        Debug.Log("视频录制完成实际路径:" + videoPath);
        // 成功回调逻辑,比如:隐藏录屏中按钮
    }

    void ShareVideo()
    {
        Debug.Log("ShareVideo ShareVideo ...");
        // 只有回调,不带预定义标题和话题
        StarkSDK.API.GetStarkGameRecorder().ShareVideo(SuccessCallback, FailedCallback, CancelledCallback);

        // 分享成功回调
        // 分享失败回调
        // 分享取消回调
        // 分享视频的标题,如不需要设置标题,可以传null或空字符串
        // 分享视频的话题,如不需要设置话题,可以传null或空列表
        //StarkSDK.API.GetStarkGameRecorder().ShareVideoWithTitleTopics(SuccessCallback, FailedCallback,
        //    CancelledCallback, "自定义标题", new List() {"自定义话题1", "自定义话题2"});

        void SuccessCallback(Dictionary dictionary)
        {
            Debug.Log("视频分享成功回调 ...");
            // 成功回调逻辑,比如:弹窗提示并发放奖励
        }

        void CancelledCallback()
        {
            Debug.Log("取消分享回调 ...");
            // 取消回调逻辑,比如:弹窗提示
        }

        void FailedCallback(string errMsg)
        {
            Debug.Log("分享视频失败回调执行 ... " + " ,错误消息是:" + errMsg);
            // 失败回调逻辑,比如:弹窗提示
        }
    }
}

最后将代码挂载到游戏场景中并将上面创建的三个按钮赋值给代码中预留的公开变量。

然后运行:点击开始游戏按钮 -——> 调用录屏逻辑 -——> 游戏中出现:开发阶段...文字提示,-——> SDK接入成功 -——> 进入真机测试阶段。


三,发布游戏

在工具栏选择 ByteGame --> StarkSDKTools --> Build Tool 即可打开打包的工具面板

3.1 发布安卓Apk

在面板的运行框架选择Native,然后按照需求填写,构建即可。


3.2 发布双端WebGL

在面板的运行框架选择WebGL,然后选择构建WebGL:

构建完成后,会在指定目录生成 --> 一个webgl的目录和一个压缩包,如下图:

然后在3.1图1中选择发布WebGl:

最后按需填写完成后,选择发布,等待发布完成即可在弹出二维码,使用抖音扫描就可以进行测试了。


3.3 IOS15.4版本问题

测试IOS时发现,使用IOS15.4版本的测试机,不能成功加载出游戏场景,报错如下:

报错原文:

10:08:30.703 exception thrown: RuntimeError: Out of bounds memory access (evaluating 'dynCall_ii(index,a1)'),.wasm-function[59627]@[wasm code] .wasm-function[146029]@[wasm code] .wasm-function[83839]@[wasm code] wasm-stub@[native code] invoke_ii@blob:file:///ce3cf2cf-9cb3-4723-a499-98a7b0c93a71:3:413696 .wasm-function[83839]@[wasm code] .wasm-function[19042]@[wasm code] .wasm-function[1057]@[wasm code] .wasm-function[66513]@[wasm code] .wasm-function[4560]@[wasm code] .wasm-function[118584]@[wasm code] wasm-stub@[native code] invoke_iii@blob:file:///ce3cf2cf-9cb3-4723-a499-98a7b0c93a71:3:411844 .wasm-function[118584]@[wasm code] .wasm-function[2239]@[wasm code] .wasm-function[63653]@[wasm code] .wasm-function[18940]@[wasm code] .wasm-function[541]@[wasm code] .wasm-function[540]@[wasm code] .wasm-function[111580]@[wasm code] .wasm-function[134747]@[wasm code] .wasm-function[18950]@[wasm code] .wasm-function[118583]@[wasm code] wasm-stub@[native code] invoke_iiii@blob:file:///ce3cf2cf-9cb3-4723-a499-98a7b0c93a71:3:412366

应该unity引擎有些代码变动导致,一个相关说明

解决方法:升级IOS版本就不会有问题啦。


相关推荐

笔记本win10系统重装(笔记本win10系统重装u盘启动)

win10系统重装方法如下第一步:下载安装好老毛桃U盘启动盘制作工具,制作一个U盘启动盘,建议U盘内存在8G以打开浏览器,搜索“老毛桃官网”,进入官网后,在首页点击“完整版”下载第二步:下载好win1...

主题之家移动版(主题中心下载手机版)

根据我的了解,汽车之家王国分为多个主题。其中包括新车评测、汽车导购、行业资讯、改装技术、赛车运动等。新车评测主题提供各种品牌和型号的汽车评测文章和视频,帮助消费者了解车辆性能和特点。汽车导购主题提供购...

win7电脑分盘(windows7电脑分盘)

在Win7系统电脑上分盘,您可以按照以下步骤进行操作:1.打开“计算机管理”:右键点击“计算机”图标,选择“管理”选项,打开“计算机管理”窗口。2.打开“磁盘管理”:在“计算机管理”窗口中,选择“...

电脑任务栏怎么还原到下边快捷键

电脑任务栏还原到下边方法:1.在任务栏上单击右键进入Windows电脑桌面后直接在任务栏上单击鼠标右键。2.点击锁定任务栏在弹出的菜单里面点击倒数第二个锁定任务栏选项。3.将任务栏拖到下方再按下鼠标左...

windows7怎么单击修复计算机

方法/步骤windows7的设置一般都可以在“控制面板”调整,鼠标的功能调整也不例外。首先打开“开始”-“控制面板”。“控制面板”默认是按照类别分类的,可能看不到鼠标选项,不过我们可以在搜索框里搜索“...

rog售后维修服务中心(rog官方维修点查询)

如果你的rog手机坏了,可以选择去rog手机官方维修点或者授权的维修中心修理。在这些地方,工程师们具有专业的维修知识和技能,能够确保对rog手机进行正确的维修和保养。此外,他们也会使用原厂备件,以确保...

装机系统哪个好(装系统那个好)

一、【重装win10正版系统】   二、【好用一键重装系统】  三、【优盘一键重装系统】 四、【免u盘一键重装系统】五、【小白在线一键重装系...

计算机怎么设置密码(计算机怎么设置密码锁屏)
  • 计算机怎么设置密码(计算机怎么设置密码锁屏)
  • 计算机怎么设置密码(计算机怎么设置密码锁屏)
  • 计算机怎么设置密码(计算机怎么设置密码锁屏)
  • 计算机怎么设置密码(计算机怎么设置密码锁屏)
win10刻录光盘的方法和步骤(win10系统怎么刻录光盘)

1.打开Windows10中的“文件资源管理器”,找到要刻录的文件或文件夹。2.选中文件/文件夹,右键单击选中“发送到-->DVDRW驱动器”。3.确认要刻录的光盘的名称和格式(默...

惠普笔记本电脑官网驱动下载

HP惠普打印机驱动官网是存在的。因为HP惠普是一家著名的电脑及相关产品制造商,他们会提供各种驱动程序和软件以保证设备的兼容性和稳定性。HP惠普打印机驱动官网可以通过搜索引擎查找,也可以通过HP惠普的官...

2025win7专业版激活密钥(2020win7专业版永久激活码)

cad序列号和密钥是111-111111,可以通用的,但激活码则需要通过CAD2014注册机对申请号的换算才能得出结果,当然结果有很多,用户可以不断的Generate一个。cad序列号和密钥是111-...

window7下载itunes什么版本(window7怎么下载itunes)

出现此问题一般是因为itunes没有正确安装,可以参考如下解决方法:1.请查看本机电脑数位,计算机---右键---属性---看是32的还是64的;2.官网下载数位对应的iTunes;3...

u盘什么牌子的好(大容量的u盘什么牌子好)

十大耐用云U盘排行分别是:第一名闪迪第二名雷克沙第三名金士顿第四名三星第五名美商海盗船第六名东芝第七名惠普第八名威刚第九名台电第十名朗科。十大耐用云U盘排行分别是:第一名闪迪第二名雷克沙第三名金士顿第...

英文翻译器下载(英文翻译器软件下载)

APK(全称:Androidapplicationpackage,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android...

oppo主题包下载(oppoi主题下载)

opporeno5壁纸可以选择主题商店下载。1、打开手机设置,点击【个性化定制】,选择壁纸。2、可以选择本地相册、静态壁纸、动态壁纸、ART+,还可以选择主题商店。3、选择自己喜欢的壁纸,点击设置即...