当前位置: 首页 > news >正文

Unity 接入抖音小游戏一

目录

一、搭建小游戏环境

二、接入抖音SDK

1.初始化

2.登录

 3.分享

4.添加到桌面

5.侧边栏功能

6. 接入流量主

 三、完整代码


下一篇传送门 Unity 接入抖音小游戏二 -CSDN博客

一、搭建小游戏环境

我这边因为没有下载其他版本的Unity所以就先用2022.3.57f1了 大家还是下载抖音推荐的版本

切换Unity平台为WebGL 然后找到 ProjectSetting->Player->OtherSettings  Color Space 选择Camma      Auto Graphics API 取消勾选   Garphics APIs 选择WebGL2即可

安装BGDT 点击下载 下载完之后直接导入到Unity里面然后找到ByteGame->ByteGame Develop Tools点开

 找到TTSDK直接下载

 创建一个脚本叫TTPlayerPrefs用来替换本地存储接口代码如下 需要新加一个宏为 BYTEDANCE_MINIGAME

#if UNITY_WEBGL && BYTEGAME_MINIGAME
using TTSDK;
#endif
using UnityEngine;public class TTPlayerPrefs : MonoBehaviour
{public static void SetInt(string key, int value){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.SetInt(key, value);
#elseUnityEngine.PlayerPrefs.SetInt(key, value);
#endif}public static int GetInt(string key, int defaultValue = 0){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORreturn TT.PlayerPrefs.GetInt(key, defaultValue);
#elsereturn UnityEngine.PlayerPrefs.GetInt(key, defaultValue);
#endif}public static void SetFloat(string key, float value){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.SetFloat(key, value);
#elseUnityEngine.PlayerPrefs.SetFloat(key, value);
#endif}public static float GetFloat(string key, float defaultValue = 0.0f){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORreturn TT.PlayerPrefs.GetFloat(key, defaultValue);
#elsereturn UnityEngine.PlayerPrefs.GetFloat(key, defaultValue);
#endif}public static void SetString(string key, string value){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.SetString(key, value);
#elseUnityEngine.PlayerPrefs.SetString(key, value);
#endif}public static string GetString(string key, string defaultValue = ""){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORreturn TT.PlayerPrefs.GetString(key, defaultValue);
#elsereturn UnityEngine.PlayerPrefs.GetString(key, defaultValue);
#endif}public static bool HasKey(string key){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORreturn TT.PlayerPrefs.HasKey(key);
#elsereturn UnityEngine.PlayerPrefs.HasKey(key);
#endif}public static void DeleteKey(string key){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.DeleteKey(key);
#elseUnityEngine.PlayerPrefs.DeleteKey(key);
#endif}public static void DeleteAll(){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.DeleteAll();
#elseUnityEngine.PlayerPrefs.DeleteAll();
#endif}public static void Save(){
#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITORTT.PlayerPrefs.Save();
#elseUnityEngine.PlayerPrefs.Save();
#endif}
}

二、接入抖音SDK

1.初始化

关键函数 TT.InitSDK

public void InitSDK(Action onSDKInitialized)
{TT.InitSDK((code, env) =>{_host = env.m_HostEnum;_systemInfo ??= TT.GetSystemInfo();_isIOS = _systemInfo.platform.Contains("ios", StringComparison.OrdinalIgnoreCase);_isAndroid = _systemInfo.platform.Contains("android", StringComparison.OrdinalIgnoreCase);LaunchOption launchOption = TT.GetLaunchOptionsSync();_sceneID = launchOption.Scene;// 控制屏幕常亮TT.SetKeepScreenOn(true, () => { Debug.Log("TT.SetKeepScreenOn success"); }, msg => { Debug.LogError($"TT.SetKeepScreenOn fail: <{msg}>"); });onSDKInitialized?.Invoke();});
}

登录回调里面会获取一些需要用到的信息比如 TT.GetSystemInfo ()

TT.GetLaunchOptionsSync()

2.登录

关键函数 TT.Login()  登录成功后 可以获取到用户的openid  code就是用户的openid

public void Login(Action<int, ZytLitJson.JsonData> onLoginFinished)
{TT.Login((code, anonymousCode, isLogin) =>{Debug.Log($"loginCode<{code}>");var jsonData = new ZytLitJson.JsonData{["loginCode"] = new(code)};Debug.Log($"{Time.frameCount,0:D5} ByteSDKAdapter.OnLoginSuccess");onLoginFinished?.Invoke(0, jsonData);}, msg =>{var jsonData = new ZytLitJson.JsonData{["errMsg"] = new(msg)};onLoginFinished?.Invoke(-1, jsonData);});
}<
http://www.xdnf.cn/news/1021555.html

相关文章:

  • linux 黑马 第1-2章
  • ELK日志采集系统
  • 通过iframe使用Jupyter notebook
  • shell、bash、cmd、git 和 PowerShell 的区别与关系的详细解析
  • 吃透 Golang 基础:函数
  • 混合云战略规划深度解析:多云管理的技术架构与治理框架
  • 动态规划: 背包DP大合集
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 7】【AdapterProperties介绍】
  • 触觉智能RK3576核心板,工业应用之4K超高清HDMI IN视频输入
  • 基于Python的二手房源信息爬取与分析的设计和实现,7000字论文编写
  • 改写爬虫, unsplash 图片爬虫 (网站改动了,重写爬虫)
  • 给element-plus的table表格加上连续序号
  • Kubernetes 从入门到精通-资源限制
  • 清理电脑C磁盘,方法N:使用【360软件】中的【清理C盘空间】
  • Visual Studio Code 1.101.0 官方版
  • 晶晨S905L/S905L-B芯片-安卓7.1.2_【通刷】线刷固件包及教程
  • 解析Android SETUP_DATA_CALL 链路信息字段
  • MultiTalk 是一种音频驱动的多人对话视频生成模型
  • Java 实现 Excel 转化为图片
  • 亚远景-如何高效实施ASPICE认证标准:汽车软件企业的实践指南
  • nvue全攻略:从入门到性能优化
  • 如何使用 Python 对Bing搜索进行抓取
  • DSPC6678使用CCS开发的任务/中断分析功能(RTOS Analyzer)
  • 优傲机器人推出全新关节扭矩直接控制技术,助力科研与AI应用创新
  • Swift concurrency 9 — Sendable 协议:跨任务共享数据的安全保障
  • 猫狗翻译器!人和宠物无障碍交流!Good
  • 浪潮下的机器人竞技与创新突破 ——QOGRISYS O9201 系列模组赋能智能未来
  • ROS 2安装 slam_toolbox
  • 多个机器人同时加载在rviz及gazebo同一个场景中
  • 【linux】简单的shell脚本练习