Unity抖音直播玩法开发流程

前言

近两年直播玩法逐渐新兴起来了,也出现不少质量还不错的作品,比如下列《红蓝对决》《三国全战》等。近期我们也做了一款直播玩法,就此记录下开发流程。

1,申请应用

进入抖音开发者平台,在首页入驻平台。

如果是公司的话,需要准备营业执照等。

个人的话,目前只需要身份证即可,不过个人有一些限制。(目前我们用的是公司资质)

在入驻成功后,可以申请应用,这里要准备一个玩法展示视频,以及玩法名称等。

应用申请成功后,可以在控制台看到如下页面:

对于开发而言,最重要的是直播小玩法里面的APPID,之后的一系列操作都需要基于这个APPID。

另外,可以通过网站跳转,加入官方飞书群。有什么问题,或者需要发布,可以在这里官方群喊下。

2,开发玩法

目前抖音平台支持Unity引擎,别的引擎没用过,目前也没找到官方对接文档。

Unity部分正常开发即可,注意当前最多支持八种礼物,这个对照当下主流游戏设置就行,然后在后台开发里面配置一下。

后台礼物在这里配置:

3,接入sdk

这部分详细可以参考抖音直播玩法文档、文档概览。

如果不需要自己服务器的话,可以考虑抖音官方提供的直推服务。

有自己服务器的话,其实只需要获取一个登录token即可,别的交给服务器即可。

服务器文档地址,大概流程是获取token后,服务器通过token到抖音后台拿到消息,然后再返回给客户端。

客户端获取token函数如下:

   #region  SDK初始化部分/// <summary>/// 直播开放 SDK 的实例对象。/// </summary>public ILiveOpenSdk Sdk => LiveOpenSdk.Instance;/// <summary>/// 获取或设置玩法的 app_id。/// 请在初始化 SDK 之前设置。/// </summary>public string AppId{get => Sdk.Env.AppId;set => Sdk.Env.AppId = value;}/// <summary>/// 初始化 SDK。/// </summary>/// <remarks>/// 请在 Unity 主线程调用。/// </remarks>public void Initialize(){AppId = "fds3242342314231";// 设置 SDK 的事件触发线程为 Unity 主线程。Sdk.DefaultSynchronizationContext = SynchronizationContext.Current;try{// 同步初始化。Sdk.Initialize();Debug.Log($"初始化直播开放 SDK:成功");if (GameProp.Inst.IsFormal) DownloadWebsiteAsync();}catch (Exception){// 正常情况下不会失败,若遇到问题,请和我们联系。Debug.Log($"初始化直播开放 SDK:失败");throw;}}async void DownloadWebsiteAsync(){var roomInfo = await LiveOpenSdk.Instance.GetRoomInfoService().WaitForRoomInfoAsync();Debug.LogError(Sdk.Env.Token);}#endregion

获取token后,如果有服务器的话,直接发给服务器处理即可。

4,测试

没发布之前,需要测试的话,需要使用直播伴侣,并将测试的直播账号设置为私密,并添加到开播测试:

需要测试的抖音需要关注该主播,并添加到调试人员:

然后通过直播伴侣,点击开播,等待3秒左右,点击小玩法,就可以在右边看到小扳手:

打开之后,选择打包出来的地址,打开即可获取到token,并进行接下来的真实付费的逻辑。

最后,如果要测试礼物效果的话,可以通过自查工具,不过这里的房间ID是固定的。

这个和自查工具是同一个位置。

5,结语

总体来说,抖音直播玩法接入部分开发还算简单,如果有需要技术支持的老板,可以私信联系。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3+Vite 解决“找不到模块“@/components/xxx.vue”或其相应的类型声明 ts(2307)”

1. 安装插件 pnpm i types/node -D2. 修改vite.config.ts文件 import path from path;resolve: {alias: {"": path.resolve(__dirname,"./src"),},},3. 修改tsconfig.app.json文件 别人教的都是修改tsconfig.json文件&#xff0c;但是我发现可能是因为版…

写论文找不到灵感?ChatGPT能提供的一些帮助

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在学术写作过程中&#xff0c;许多读者常常会面临一个问题——找不到灵感。面对庞大的文献和复杂的研究方向&#xff0c;往往感到无从下手。随着人工智能技术的发展&#xff0c;像ChatG…

redis面试(十九)读写锁ReadLock

读写锁ReadLock 简单来说就是互斥锁和非互斥锁。多个客户端可以同事加的锁叫读锁&#xff0c;只能有一个客户端加的锁叫写锁。这个理论应该是从数据库中来的&#xff0c;放在这里也是同样的解释。 多个客户端同时加读锁&#xff0c;是不会互斥的&#xff0c;多个客户端可以同…

“肯将玉钳作双戟,一舞天下定乾坤。”记唐铎《墨龙图》之中的笔墨画意

唐铎&#xff0c;1957 年生于北京&#xff0c;国家一级美术师&#xff0c;曾先后师从于刘文西、黄申发老师&#xff0c;原名唐京鸣&#xff0c;京城人士&#xff0c;取其名&#xff0c;不鸣则已&#xff0c;一鸣惊人之意&#xff0c;学画三十余年&#xff0c;专注于齐派虾蟹&am…

【技巧】-DNSlog外带文件

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 1.什么是DNSlog 我们都知道DNS就是将域名解析为ip&#xff0c;用户在浏览器上输入一个域名A.com&#x…

深入探索分布式任务调度框架:MySQL实现高效锁机制

本文主要介绍项目中怎么使用 MySQL 实现分布式锁的 背景 假如我们现在要做一个高性能、可扩展的分布式任务调度框架&#xff0c;要怎么设计呢&#xff1f;下面是我之前自己设计的一个架构图。 为了方便后续的分布式锁的设计&#xff0c;我们大致描述下各个角色都做了哪些事情…

鹏哥C语言自定义笔记重点(29-)

29.函数指针数组 30.void指针是不能直接解引用&#xff0c;也不能-整数。 void*是无具体类型的指针&#xff0c;可以接受任何类型的地址。 31.qsort:使用快速排序的思想实现一个排序函数(升序) 32. 33.地址的字节是4/8 34.char arr[]{a,b} sizeof(arr[0]1)答案是4&#xff0…

Godot《躲避小兵》实战之游戏开始界面制作

我们的游戏还需要用户可操作的界面&#xff0c;比如开始游戏&#xff0c;退出以及显示分数等UI界面。 创建新场景&#xff0c;点击“其他节点”按钮&#xff0c;然后添加一个 CanvasLayer 节点并命名为 HUD。“HUD”是“heads-up display”&#xff08;游戏信息显示&#xff0…

windows所有功能都可使用就是电脑黑屏了

运行新任务然后输入explorer.exe勾选上创建任务确定就好了 下次尽量不手欠&#xff01;&#xff01;&#xff01;&#xff01;

Golang | Leetcode Golang题解之第367题有效的完全平方数

题目&#xff1a; 题解&#xff1a; func isPerfectSquare(num int) bool {x0 : float64(num)for {x1 : (x0 float64(num)/x0) / 2if x0-x1 < 1e-6 {x : int(x0)return x*x num}x0 x1} }

改编版猜数字小游戏,猜错了就黑屏(整蛊版本)

1. 前情提要 在前一篇博客中&#xff0c;我们了解到了如何获得随机数&#xff0c;并且通过运算可以规定所获得的这个随机数的范围在多少数值之间 那么接下来我们就需要去具体去实现猜数字游戏的各种布置 2. 布置主菜单 玩一个游戏&#xff0c;最开始的界面都会是一个主菜单…

hutool excel 导出,格式错误,打开乱码

现象 最近在使用hutool excel 实现网站数据导出excel功能。在swagger 中调试接口时候遇到下载文件不能打开或者乱码的问题。 1. xlsx 文件不能打开 2. xls 文件打开乱码 解决方案 直接使用postman 或者 get 请求使用浏览器地址栏 总之&#xff0c;excel 文件不能导出&#xf…

leetcode 49 字母异位分词

正文 基础解法 首先&#xff0c;我们创建一个字典对象&#xff0c;然后遍历整个字符串列表&#xff0c;并且使用 sorted() 函数对字符串列表进行排序&#xff0c;所有的异位分词经过排序后它们的组成和顺序会趋于一致。但是需要注意的是 sorted 对字符串进行排序后会变成一个由…

day06_算法训练

一. Stream流 1.1 Stream流概述 概念: jdk1.8以后提供的新的API, 主要用于批量操作数据(集合的另外一种操作方式),代码非常简洁 流式处理思想: 2.2 Stream对象获取 1.单列集合的Stream流对象获取 2.双列集合的Stream流对象获取 3.数组的Stream流对象获取 4.散装数据的St…

上线eleme项目

&#xff08;一&#xff09;搭建主从从数据库 主服务器master 首先下载mysql57安装包&#xff0c;然后解压 复制改目录到/usr/local底下并且改个名字 cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql 删掉/etc/my.cnf 这个会影响mysql57的启动 rm -rf /etc…

科研绘图系列:Python语言时间趋势图

介绍 不同指标在时间上的变化,可以用时间序列线图表示趋势。 加载Python包 import sys import pandas as pd import numpy as np import scipy as sp from scipy import stats import randomimport seaborn as sns import matplotlib.pyplot as plt from matplotl

Open3D mesh 隐藏点移除

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2去除隐藏点后的点云 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff08;长期更新&…

C++ | Leetcode C++题解之第363题矩形区域不超过K的最大数值和

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxSumSubmatrix(vector<vector<int>> &matrix, int k) {int ans INT_MIN;int m matrix.size(), n matrix[0].size();for (int i 0; i < m; i) { // 枚举上边界vector<int> sum(…

开关电源测试系统方案:系统结构功能、特点、测试项目

为了应对开关电源测试中的复杂挑战&#xff0c;我们推出了NSAT-8000系列开关电源ate测试系统&#xff0c;它以其全面的功能和灵活性&#xff0c;适应了电源产品测试场景&#xff0c;解决了测试难题。 开关电源测试系统 NSAT-8000系列之开关电源测试系统适用于AC/DC和DC/DC开关电…