目錄
一、搭建小游戲環境
二、接入抖音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);});
}
<