【抖音小游戏】 Unity制作抖音小游戏方案 最新完整详细教程来袭【持续更新】

news2024/11/18 4:38:38

请添加图片描述

      • 前言
  • 【抖音小游戏】 Unity制作抖音小游戏方案 最新完整详细教程来袭【持续更新】
    • 一、相关准备工作
      • 1.1 用到的相关网址
      • 1.2 注册字节开发者后台账号
    • 二、相关集成工作
      • 2.1 下载需要的集成资源
      • 2.2 安装StarkSDK和starksdk-unity-tools工具包
      • 2.3 搭建测试场景
    • 三、构建发布
      • 3.1 发布Native
      • 3.2 发布WebGL
  • 总结

请添加图片描述


前言

  • 之前有篇文章讲过怎么使用Unity来制作微信小游戏:如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭
  • 那本篇文章来介绍怎样使用Unity引擎来制作和发布抖音小游戏
  • 无论是制作微信小游戏还是抖音小游戏,核心还是使用Unity引擎完成各项工作,只不过在某些功能上加了一些限制,如本地加载资源文件等等。
  • 在制作之前可以前往各自对应的官方平台查阅文档注意事项即可。
  • 实现步骤其实很容易,简单分为三步:获取APPID集成SDK构建发布游戏。下面一起看看是怎么操作的吧。

【抖音小游戏】 Unity制作抖音小游戏方案 最新完整详细教程来袭【持续更新】

一、相关准备工作

1.1 用到的相关网址

  • 字节小程序开发者后台地址 字节小游戏
  • 抖音开发者平台
  • StarkSDK_Unity文档
  • StarkContainer游戏发布
  • Uid获取方法
  • StarkContainer游戏发布失败FAQ

1.2 注册字节开发者后台账号

前往字节小程序开发者平台,进行账号注册,然后创建小游戏,选择即玩Unity&UE小游戏并填写一些基本信息。
在这里插入图片描述

游戏必须完成「主体认证」和「基本信息」两项才能发布上线。
主体认证里面有主体资质、对公打款验证及申请CA签章,这里就挨个点击然后按要求填写就好了,都是一些基础的个人信息,其中申请CA签章时可根据需求选择个人还是公司都可以。
在这里插入图片描述

然后等待平台审核即可,一般工作日都是很快就审核完毕了。

基本信息 里面可以设置小游戏的简介、图标、类别等, 还需要有软著和游戏自身自查报告才可以进行保存,若是想加入支付模块则还需要提交版号信息。

测试使用的话就不需要填写这一块了,了解一下即可,不填写也可以在抖音构建发布并测试。

此时点击回到开发者平台就可以看到我们创建的应用了,并拿到对应的AppID,这个才是最终目的!
在这里插入图片描述


二、相关集成工作

2.1 下载需要的集成资源

这一步我们将集成字节提供的SDK,简单来说就是下载一个包并将其导入到Unity中。

下载字节SDK的地址可以来此文档中:StarkSDK_Unity文档
在这里插入图片描述

然后将下载的.unitypackage包导入我们自己的Unity工程中。
在这里插入图片描述

2.2 安装StarkSDK和starksdk-unity-tools工具包

在菜单栏点击 ByteGame ->ByteGame Develop Tool
然后点击StarkSDK和starksdk-unity-tools进行下载安装。
在这里插入图片描述

2.3 搭建测试场景

在Unity中 搭建一个测试场景,主要是测试一下几个API的用法。
在这里插入图片描述

代码如下:

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

public class StarkSDKDemo : MonoBehaviour
{
    public Button btn_StartRecord;
    public Button btn_StopRecord;
    public Button btn_ShareGame;
    public Button btn_FollowDouYinUser;
    public Button btn_CreateShortcut;
    public Button btn_GetAccount;
    public Button btn_OpenCustomer;

    public Text des;

    void Start()
    {
        btn_StartRecord.onClick.AddListener(StartRecord);
        btn_StopRecord.onClick.AddListener(StopRecord);
        btn_FollowDouYinUser.onClick.AddListener(FollowDouYinUser);
        btn_CreateShortcut.onClick.AddListener(CreateShortcut);
        btn_ShareGame.onClick.AddListener(ShareVideo);
        btn_GetAccount.onClick.AddListener(Login);
        btn_OpenCustomer.onClick.AddListener(OpenCustomer);
    }

    /// <summary>
    /// 开始录制视频
    /// </summary>
    void StartRecord()
    {
        des.text = ("抖音 开启录制视频 ...");
        StarkSDK.API.GetStarkGameRecorder().StartRecord(true, 200, StartCallback, FailedCallback, SuccessCallback);
    }

    /// <summary>
    /// 停止录制视频
    /// </summary>
    void StopRecord()
    {
        des.text = ("抖音 停止录制视频 ...");
        StarkSDK.API.GetStarkGameRecorder().StopRecord(SuccessCallback, FailedCallback, null, false);
    }

    void StartCallback()
    {
        des.text = ("视频开始录制回调执行 ...");
    }

    void SuccessCallback(string videoPath)
    {
        des.text = ("视频录制完成实际路径:" + videoPath);
    }
    void FailedCallback(int errCode, string errMsg)
    {
        des.text = ("录制视频失败回调执行 ... 错误码是:" + errCode + " ,错误消息是:" + errMsg);
    }

    /// <summary>
    /// 分享视频
    /// </summary>
    void ShareVideo()
    {
        des.text = "开始 分享视频";
        StarkSDK.API.GetStarkGameRecorder().ShareVideo(SuccessCallback, FailedCallback, CancelledCallback);

        void SuccessCallback(Dictionary<string, object> dictionary)
        {
            des.text = "视频分享成功回调 ...";
        }

        void CancelledCallback()
        {
            des.text = "取消分享回调 ...";
        }

        void FailedCallback(string errMsg)
        {
            des.text = ("分享视频失败回调执行 ... " + " ,错误消息是:" + errMsg);
        }
    }

    /// <summary>
    /// 绑定抖音号
    /// </summary>
    void FollowDouYinUser()
    {
        des.text = "开始 绑定抖音号";
        StarkSDK.API.FollowDouYinUserProfile(OnFollowAwemeCallback, OnFollowAwemeError);
        void OnFollowAwemeCallback()
        {
            des.text = "完成打开抖音号的回调";
        }
        void OnFollowAwemeError(int errCode, string errMsg)
        {
            des.text = ("录制视频失败回调执行 ... 错误码是:" + errCode + " ,错误消息是:" + errMsg);
        }
    }

    /// <summary>
    /// 创建快捷方式
    /// </summary>
    void CreateShortcut()
    {
        des.text = "开始 创建快捷方式";
        StarkSDK.API.CreateShortcut(OnCreateShortcut);
        void OnCreateShortcut(bool bSuccess)
        {
            des.text = string.Format("创建快捷方式: {0}", bSuccess);
        }
    }

    /// <summary>
    /// 登陆
    /// </summary>
    void Login()
    {
        des.text = "开始 登陆";
        StarkSDK.API.GetAccountManager().Login(OnLoginSuccessCallback, OnLoginFailedCallback,true);

        void OnLoginSuccessCallback(string code, string anonymousCode, bool isLogin)
        {
            des.text = "临时登录凭证:" + code + "。用于标识当前设备:" + anonymousCode + "。当前 APP(头条、抖音等)是否处于登录状态:" + isLogin;
        }
        void OnLoginFailedCallback(string errMsg)
        {
            des.text = " 登录失败 错误消息:" + errMsg;
        }
    }

    /// <summary>
    /// 打开客服聊天页
    /// </summary>
    void OpenCustomer()
    {
        des.text = "开始 打开客服聊天页";
        StarkSDK.API.OpenCustomerServicePage(
        (flag) =>
        {
            if (flag)
            {
                des.text = ("打开客服页成功");
            }
            else
            {
                des.text = ("打开客服页失败");
            }
    });
    }
}

提示:如果发布WebGL记得修改字体,默认的Arial字体在发布WebGL之后经常会出现字体不显示或者乱码的问题。
方案:Windows电脑直接在C:\Windows\Fonts将某个字体复制到Unity项目中测试即可。


三、构建发布

将上述两个包安装之后,在菜单栏的ByteGame中会多出一个选项StartSDKTools ,在StartSDKTools 中有三个选项:Build Tool、Wasm Split及Publishing Tool。

  • Build Tool 是构建工具,负责打包相关设置。
  • Publishing Tool 是发布工具,负责发布设置。

更多发布相关的内容可查阅官方文档:StarkContainer游戏发布

在这里插入图片描述

打开菜单栏 ByteGame -> StartSDKTools -> Build Tool打开Build的面板。

运行框架有 NativeWebGL 两种,Native只能打包成APK在Android中使用,而WebGL支持Adnroid和IOS。目前相对来说Native更稳定一些,可根据实际情况构建并发布。

3.1 发布Native

选择架构为Native,设置AppID和路径。

点击仅构建APK或者发布APK都可以,我们这里点击发布APK则会跳转到PublishTool发布工具面板。

然后填写Uid和AppID,Android发布方案选择Native并选择打包的APK然后点击发布即可。
在这里插入图片描述

若是出现发布失败提示让我们下载正确的Unity版本,那就点击查看然后根据文档的信息下载对应的Unity版本尝试重新发布。

StarkContainer游戏发布失败FAQ
官方公布的原因:考虑到安全性,引擎共享等因素,sc游戏只允许特定版本的unity引擎进行发布。

3.2 发布WebGL

选择架构为WebGL,选择输出目录然后点击构建。

等待构建完成后点击发布WebGL,然后填写Uid、AppID等信息,发布方案记得选择WebGL。
在这里插入图片描述

发布完成后会生成对应的二维码,打开抖音APP扫码就可以试玩打包的项目了。
在这里插入图片描述

试玩截图效果展示
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

有些API需要上面我们把相关基本信息全部填写完了之后才能使用,具体的使用方法可以前往上面发的相关文档查看,使用中出现报错也可以查看前面的报错相关文档查看。

下面是打包了一个小游戏构建发布到抖音APP可以扫码玩的,可以看一下效果:

请添加图片描述


总结

  • 本文整理了怎样通过Unity制作并发布抖音小游戏的流程。
  • 整体来说比Unity制作微信小游戏的流程要少很多。
  • 核心原理就是通过开发者平台提供的SDK来构建和发布对应的小游戏。
  • 关于更多抖音小游戏的功能可以前往开发者平台提供的文档中查阅。
  • 本文就到这里结束啦,快去使用Unity制作各种好玩的小游戏然后发布到各个平台玩吧!

资料白嫖,技术互助
请添加图片描述

学习路线指引(点击解锁)知识定位人群定位
🧡 Unity系统学习专栏 🧡入门级本专栏从Unity入门开始学习,快速达到Unity的入门水平
💛 Unity实战类项目 💛进阶级计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。
❤️ 游戏制作专栏 ❤️ 难度偏高分享学习一些Unity成品的游戏Demo和其他语言的小游戏!
💚 游戏爱好者万人社区💚 互助/吹水数万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Unity100个实用技能💙 Unity查漏补缺针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.5 DNS 应用 -- 1. DNS 概述

2.5 DNS 应用 -- 1. DNS 概述 DNS&#xff1a;Domain Name SystemDNS分布式层次式数据库DNS根域名服务器TLD和权威域名解析服务器本地域名解析服务器 DNS 查询迭代查询递归查询 DNS记录缓存和更新 DNS&#xff1a;Domain Name System Internet上主机/路由器的识别问题 IP地址域…

基于matlab处理 RGB-D图像数据以构建室内环境地图并估计相机的轨迹(附源码)

一、前言 视觉同步定位和映射 &#xff08;vSLAM&#xff09; 是指计算摄像机相对于周围环境的位置和方向&#xff0c;同时映射环境的过程。 您可以使用单眼摄像头执行 vSLAM。但是&#xff0c;深度无法准确计算&#xff0c;估计的轨迹未知&#xff0c;并且随着时间的推移而漂…

红帽恪守对开源的承诺:对 git.centos.org 变更的回应

导读红帽上周宣布了限制源代码访问性的政策&#xff0c;称其企业发行版 RHEL (Red Hat Enterprise Linux) 相关源码仅通过 CentOS Stream 公开&#xff0c;付费客户和合作伙伴可通过 Red Hat Customer Portal 访问到源代码。 此举引发了巨大争议&#xff0c;红帽甚至被指责 “背…

大数据开发环境-Hbase

1.启动之前需要确保hadoop启动 # 查看 Hadoop 是否已经正常启动 : start-all.sh jps 2.启动Hbase

运输层:TCP可靠传输

1.运输层&#xff1a;TCP可靠传输 笔记来源&#xff1a; 湖科大教书匠&#xff1a;TCP可靠传输 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 TCP实现可靠传输的方式&#xff1a;以字节为单位的滑动窗口 发送方将31 ~ 41号报文段发送 假设32 ~ 3…

React04-Hooks 详解

一、Hooks 1. Hooks 简介 Hooks&#xff0c;可以翻译成钩子。 在类组件中钩子函数就是生命周期函数&#xff0c;Hooks 主要用在函数组件。 在 react 中定义组件有2种方式&#xff1a;class 定义的类组件和 function 定义的函数组件。 在类组件中&#xff0c;钩子函数可以给…

学生适合用什么台灯护眼?暑假适合孩子学习的台灯分享

又要临近暑假了&#xff0c;孩子们又要开始整天围着手机、电视、平板等等&#xff0c;想想就感觉到头疼。也有些家长趁着暑假期间给孩子报一下兴趣班&#xff0c;培养一下孩子的技能和情操。不过也要注意孩子的视力健康&#xff0c;不少孩子就是因为在暑假期间没有注意用眼习惯…

Camtasia 2023.1.0免费版电脑视频录制和剪辑软件

Camtasia Studio是一套专业的屏幕录像软件&#xff0c;同时包含Camtasia 录像器、Camtasia Studio&#xff08;编辑器&#xff09;、Camtasia 菜单制作器、Camtasia 剧场、Camtasia 播放器和Screencast的内置功能。Camtasia 是一款专门捕捉屏幕影音的工具软件。它能在任何模式下…

企业金蝶云星空服务器数据库中了locked勒索病毒如何应对

近日&#xff0c;很多企业的金蝶云星空财务账套被locked勒索病毒攻击&#xff0c;财务系统内的许多重要数据被加密&#xff0c;无法正常打开&#xff0c;计算机内的所有文件的扩展名全部都变成了.locked后缀勒索病毒&#xff0c;导致服务器数据库被锁定。这种情况的出现与企业的…

云原生之深入解析K8S Istio Gateway服务的架构分析与实战操作

一、概述 Istio 提供一种简单的方式来为已部署的服务建立网络&#xff0c;该网络具有负载均衡、服务间认证、监控、网关等功能&#xff0c;而不需要对服务的代码做任何改动。 istio 适用于容器或虚拟机环境&#xff08;特别是 k8s&#xff09;&#xff0c;兼容异构架构&#x…

6.1 计算机网络应用模式

6.1 计算机网络应用模式 计算机网络应用模式与计算机网络的发展密切相关&#xff0c;大体可以分为三个阶段 以大型机为中心的应用模式&#xff08;mainframe-centric&#xff09; 该应用模式也称为分时共享&#xff08;time-sharing&#xff09;模式&#xff0c;也就是面向终端…

配置IOC的方式(配置文件和注解)

目录 背景实现xml方式实现结果&#xff1a; 注解方式实现效果&#xff1a; 升华 背景 我们已经学些了IOC概念和原理详情请见 一篇文章解释清楚IOC和DI 下面说如何实现IOC容器的效果。 实现 首先引入jar包 <dependency><groupId>org.springframework</groupId…

Prometheus - Concept

一 Prometheus 是什么 Prometheus 是一个开源的 监控和报警系统 。该系统内置和基于时间序列地抓取、存储、查询、绘图数据、报警。 现在是一个开源项目&#xff0c;继 K8S 后的第二个云原生计算基金会的托管项目&#xff0c;可见其火爆程度。 二 Prometheus 的特征 Promet…

异构系统的对接互通,天翎低代码平台有高招

编者按&#xff1a;企业内部里&#xff0c;最难的就是跨系统、跨应用的对接问题&#xff0c;系统之间的阻隔是影响业务效率的重要原因之一&#xff0c;如今随着技术的发展&#xff0c;这个问题上天翎低代码平台在异构系统对接方面提供多元化、多层次的方式让企业高效低成本的打…

python处理yaml、ini和execl文件

一、yaml的初步了解 YAML 是一个被广泛使用的数据序列化和配置语言&#xff0c;后缀可以为yaml或yml, 支持#注释&#xff0c;通过缩进表示层级&#xff0c;区分大小写&#xff0c;读取出来之后是一个字典列表 yaml 的用途&#xff1a; 用于做配置文件 &#xff08;yaml &…

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第十八天 18/50【层序遍历二叉树(两个队列一个遍历上一层,一个记录下一层)】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

数字虚拟人物制作为多个行业中的智能应用场景赋能

虚拟人物制作的广义定义为数字化外形的虚拟人物&#xff0c;是“虚拟”(存在于非物理世界中)“数字”(由计算机图形学、图形染、动作捕捉、深度学习、语音合成等计算机手段创造及使用)“人”(具有多重人类特征&#xff0c;如外貌、人类表演/交互能力等)的综合产物。 制作一个虚…

Hbase drop 表卡住没有响应

在实际工作中遇到过重新创建一个hbase的hive外部表&#xff0c;在 disable table_name; drop table_name 在drop table_name卡住 最后有提示报错。 建议各位查看下表有无lock的情况&#xff0c; 查看和释放hbase lock可以通过如下方式来查看 pid获取&#xff1a; 在 Ma…

idea支持vue文件-设置对vue的支持

一、idea支持.vue文件 这一步其实就是安装vue.js插件&#xff0c;具体路径为&#xff1a;File ----> Settings ----> Plugins ----> 输入vue&#xff0c;点击搜索结果里的vue.js右边的install按钮&#xff0c;安装成功后重启idea&#xff0c;这样idea就能识别.vue文件…

惨痛面经,做个记录

今天的行情太难了&#xff0c;找工作的还是比较艰难的一个过程。不和哪些优秀的人对比&#xff0c;我就是普通二本院校&#xff0c;工作4年&#xff0c;能力一般般&#xff0c;努力奋斗的一个搬砖人。分享一个月比较惨痛的找工作经历。 简历这一块自己准备的时间比较长&#xf…