> 技术文档 > Unity 接入抖音小游戏一_unity 抖音小游戏

Unity 接入抖音小游戏一_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_MINIGAMEusing TTSDK;#endifusing UnityEngine;public class TTPlayerPrefs : MonoBehaviour{ public static void SetInt(string key, int value) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.SetInt(key, value);#else UnityEngine.PlayerPrefs.SetInt(key, value);#endif } public static int GetInt(string key, int defaultValue = 0) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR return TT.PlayerPrefs.GetInt(key, defaultValue);#else return UnityEngine.PlayerPrefs.GetInt(key, defaultValue);#endif } public static void SetFloat(string key, float value) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.SetFloat(key, value);#else UnityEngine.PlayerPrefs.SetFloat(key, value);#endif } public static float GetFloat(string key, float defaultValue = 0.0f) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR return TT.PlayerPrefs.GetFloat(key, defaultValue);#else return UnityEngine.PlayerPrefs.GetFloat(key, defaultValue);#endif } public static void SetString(string key, string value) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.SetString(key, value);#else UnityEngine.PlayerPrefs.SetString(key, value);#endif } public static string GetString(string key, string defaultValue = \"\") {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR return TT.PlayerPrefs.GetString(key, defaultValue);#else return UnityEngine.PlayerPrefs.GetString(key, defaultValue);#endif } public static bool HasKey(string key) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR return TT.PlayerPrefs.HasKey(key);#else return UnityEngine.PlayerPrefs.HasKey(key);#endif } public static void DeleteKey(string key) {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.DeleteKey(key);#else UnityEngine.PlayerPrefs.DeleteKey(key);#endif } public static void DeleteAll() {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.DeleteAll();#else UnityEngine.PlayerPrefs.DeleteAll();#endif } public static void Save() {#if UNITY_WEBGL && BYTEGAME_MINIGAME && !UNITY_EDITOR TT.PlayerPrefs.Save();#else UnityEngine.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: \"); }); onSDKInitialized?.Invoke(); });}

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

TT.GetLaunchOptionsSync()

2.登录

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

public void Login(Action onLoginFinished){ TT.Login((code, anonymousCode, isLogin) => { Debug.Log($\"loginCode\"); var jsonData = new ZytLitJson.JsonData { [\"loginCode\"] = new(code) }; Debug.Log($\"{Time.frameCount,0:D5} ByteSDKAdapter.OnLoginSuccess\"); onLoginFinished?.Invoke(0, jsonData); }, msg => { var jsonData = ne