当前位置:科学 > 正文

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

2023-02-01 21:47:14  来源:陈言必行
1.1 注册字节开发者后台1.2 Unity版本说明1.3 检查AppID是否有效2.1 创建项目2.2 接入SDK3.1 发布安卓Apk3.2 发布双端WebGL3.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("抖音 开启录制视频 ...");        // <param name="isRecordAudio">是否录制声音,默认为录制声音</param>        // <param name="maxRecordTimeSec">最大录制时长,单位 s。小于等于 0 则无限制。默认为10分钟</param>        // <param name="startCallback">视频录制开始回调</param>        // <param name="errorCallback">视频录制失败回调</param>        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);        // <param name="successCallback">分享成功回调</param>        // <param name="failedCallback">分享失败回调</param>        // <param name="cancelledCallback">分享取消回调</param>        // <param name="title">分享视频的标题,如不需要设置标题,可以传null或空字符串</param>        // <param name="topics">分享视频的话题,如不需要设置话题,可以传null或空列表</param>        //StarkSDK.API.GetStarkGameRecorder().ShareVideoWithTitleTopics(SuccessCallback, FailedCallback,        //    CancelledCallback, "自定义标题", new List<string>() {"自定义话题1", "自定义话题2"});        void SuccessCallback(Dictionary<string, object> 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版本的测试机,不能成功加载出游戏场景,报错如下:

报错原文:

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

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

关键词: Unity引擎 WebGL Android 网络硬盘 模拟游戏 苹果公司

推荐阅读

菜籽出油率多少?菜籽出油率高不高?

菜籽出油率多少?很多国家都有菜籽,成片的菜籽,美国农场主也不例外。一般来说,榨菜籽的出油率约为32%-36%。有些地区正常达到38%左右,主 【详细】

蓝太阳什么时候出现过 蓝太阳是怎么形成的?

平常晴天的时候都是可以看见太阳的,不过我们也知道平时看到的太阳是黄色的发光发亮的球体,不过今日北京出现蓝太阳,蓝太阳是什么意思?蓝 【详细】

低碳环保节能产业是什么概念 为什么环保受到大家的重视?

低碳环保节能产业,是什么概念,怎么理解?节能环保产业是指为节约能源资源、发展循环经济和保护生态环境提供物质基础和技术支持的产业,是 【详细】

dwg文件是什么 dwg文件用什么打开?

相信很多人都不知道dwg文件用什么打开?,接下来小编就带大家介绍一些方法,大家可以了解一下。一、看图纸参见图纸DwgSeePlus是一个dwg文件 【详细】

工业革命是什么 工业革命的影响有哪些?

工业革命的影响有哪些?三次工业革命分别是什么时间?影响1、工业革命引起了生产组织形式的变化,用机器工厂制代替手工作坊。影响2 工业革命 【详细】

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有