【Unity】Unity項目轉抖音小游戲(四)一些常用方法

1.初始化
SDK會在Unity啟動前就初始化好,但是又有Init的接口,所以這里通過
StarkSDK.s_ContainerEnv 判斷有沒有初始化,沒有的話就手動初始化

public override void Init(string code, Action callback){Debug.Log("初始化抖音SDK");if (StarkSDK.s_ContainerEnv == null){Debug.LogError("沒有初始化完畢,設置回調");//base.Init(code, callback);//設置回調StarkSDK.API.SetContainerInitCallback((env) =>{Debug.Log("抖音sdk init finish");//callback?.Invoke();Login(callback);});StarkSDK.Init();}else{Debug.Log("已經初始化了,直接回調");Login(callback);//callback?.Invoke();}}

2.登錄
登錄后可以獲得一系列玩家數據,anonymousCode可以作為玩家的唯一ID
登錄之后云函數才能獲得對應的玩家OpenID

public void Login(Action action){StarkSDK.API.GetAccountManager().Login((code, anonymousCode, isLogin) =>{Debug.Log($"玩家已經登錄:{code}, {anonymousCode}, {isLogin}");isLogined = isLogin;unionID = anonymousCode;action?.Invoke();}, (errormsg) =>{Debug.LogError($"玩家登錄失敗:{errormsg},用戶無法使用存檔");isLogined = false;unionID = SystemInfo.deviceUniqueIdentifier;action?.Invoke();}, false);}

3.設置剪貼板

        public override void Copy2ClipBoard(string val){//base.Copy2ClipBoard(val);StarkSDK.API.GetStarkClipboard().SetClipboardData(val, (success, str) =>{if (!success) Debug.LogError("復制到剪貼版失敗");});}

4.設置前后臺切換監聽

        public override void SetFocusListener(Action<bool> onFocus){//base.SetFocusListener(onFocus);StarkSDK.API.GetStarkAppLifeCycle().OnShowWithDict = (param) =>{onFocus(true);};StarkSDK.API.GetStarkAppLifeCycle().OnHide = () =>{onFocus(false);};}

5.獲取玩家信息

        public override void GetPlayerName(Action<string> callback){base.GetPlayerName(callback);StarkSDK.API.GetAccountManager().GetScUserInfo((ref ScUserInfo user) =>{Debug.Log($"獲取到玩家名:{user.nickName}");SystemHelper.PlayerInfo.GetPlayer().SetPlayerName(user.nickName);}, (error) =>{Debug.Log($"獲取玩家名字失敗:{error}");});}

6.震動
WebGL下,傳入參數大于400的話就是長震動,否則就是短震動

        static long[] virbrateLongParam = new long[] { 9999 };public override void VirbrateLong(){//base.VirbrateLong();StarkSDK.API.Vibrate(virbrateLongParam);}static long[] virbrateShortParam = new long[] { 10 };public override void VirbrateShort(){//base.VirbrateLong();StarkSDK.API.Vibrate(virbrateShortParam);}

7.云函數調用
云函數相關可以詳見:【Unity】Unity項目轉抖音小游戲(二)云數據庫和云函數

        public override void CallCloudFunction(string functionName, string json, Action<string> success, Action<string> fail){StarkSDK.API.GetStarkDouyinCloudManager().CallContainer(DYCloudID,DYServerID,functionName,new StarkDouyinCloud.Options(){Method = "POST",Data = json},(res) =>{success?.Invoke(res.Data);Debug.Log($"云函數{functionName}成功:{res.Data}");},(res) =>{fail?.Invoke(res..ErrMsg);Debug.LogError($"云函數:{res.StatusCode}失敗,{res.ErrMsg}");}); ;}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14439.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AIGC全面介紹

AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;&#xff0c;即生成式人工智能&#xff0c;是人工智能1.0時代進入2.0時代的重要標志。這一技術的出現&#xff0c;標志著人工智能從計算智能、感知智能邁向了認知智能的新階段。以下是關于AIGC的全面介紹…

基于manifest文件批量將coding的倉庫導入gitlab中

文章目錄 寫在前面的話背景編寫manifest文件最終效果 寫在前面的話 前面有講過通過manifest清單導入項目到gitlab中&#xff0c;但是實際的操作是不同gitlab實例之間的操作&#xff0c;然而對于在不同gitlab實例的repo遷移而言&#xff0c;顯然direct transfer會更合適。 背景…

民國漫畫雜志《時代漫畫》第21期.PDF

時代漫畫21.PDF: https://url03.ctfile.com/f/1779803-1248634754-017e2b?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps: 資源來源網絡!

代碼隨想錄算法訓練營Day49 | 123.買賣股票的最佳時機III、188.買賣股票的最佳時機IV | Python | 個人記錄向

本文目錄 123.買賣股票的最佳時機III做題看文章 188.買賣股票的最佳時機IV做題 以往忽略的知識點小結個人體會 123.買賣股票的最佳時機III 代碼隨想錄&#xff1a;123.買賣股票的最佳時機III Leetcode&#xff1a;123.買賣股票的最佳時機III 做題 無思路。 看文章 確定dp數…

結構型模式之橋接模式

文章目錄 概述原理結構圖代碼示例 小結 概述 橋接模式(bridge pattern) 的定義是&#xff1a;將抽象部分與它的實現部分分離&#xff0c;使它們都可以獨立地變化。 橋接模式用一種巧妙的方式處理多層繼承存在的問題,用抽象關聯來取代傳統的多層繼承,將類之間的靜態繼承關系轉…

使用位掩碼的權限設計

使用位掩碼的權限設計 權限系統的設計幾乎是每個系統都必需的模塊。 下面就聊一聊基本設計的思路。 位掩碼&#xff08;BitMask&#xff09;&#xff0c;是位&#xff08;Bit&#xff09;和掩碼&#xff08;Mask&#xff09;的組合詞。 “位”指代著二進制數據當中的二進制位…

基于深度學習OCR文本識別系統源碼(帶界面)

第一步&#xff1a;概要 基于深度學習OCR文本識別分為兩個模塊&#xff1a;DBNet和CRNN。 DBNet是基于分割的文本檢測算法&#xff0c;算法將可微分二值化模塊(Differentiable Binarization)引入了分割模型&#xff0c;使得模型能夠通過自適應的閾值圖進行二值化&#xff0c;并…

Postgresql 基礎學習

一、介紹 PostgreSQL是一個開源的關系型數據庫管理系統&#xff08;RDBMS&#xff09;&#xff0c;它支持SQL語言的所有功能&#xff0c;具有可擴展性、高并發性和可靠性等特點。 以下是一些 PostgreSQL 的特點&#xff1a; 開源&#xff1a;PostgreSQL是一個非常受歡迎的開源…

Python-溫故知新

1快速打開.ipynb文件 安裝好anaconda后&#xff0c;在需要打開notebook的文件夾中&#xff0c; shift鍵右鍵——打開powershell窗口——輸入jupyter notebook 即可在該文件夾中打開notebook的頁面&#xff1a; 2 快速查看函數用法 光標放在函數上——shift鍵tab 3...

Docker鏡像源自動測試鏡像速度,并選擇速度最快的鏡像

國內執行如下代碼 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/check_docker_registry.sh)國外執行如下代碼 bash <(curl -sSL https://github.com/xjxjin/scripts/raw/main/check_docker_registry.sh)如果有老鐵有比較不錯的鏡像源&#xff0c;可以提…

探索Python編程樂趣:制作氣泡反彈小游戲

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言&#xff1a;Python編程的輕松入門 二、游戲實現原理&#xff1a;氣泡反彈的邏輯 …

探索生態農業,守護綠色家園

在繁忙的都市生活中&#xff0c;我們往往忽略了與自然和諧相處的重要性。而生態農業&#xff0c;正是讓我們重拾與大自然親密關系的橋梁。通過采用生態友好的耕作方式&#xff0c;生態農業不僅能夠提供健康、營養的農產品&#xff0c;還能夠保護生態環境&#xff0c;實現人與自…

Android高通 12/13靜默安裝和卸載

1、靜默安裝和靜默卸載 涉及代碼路徑感興趣可以去看下如下所示&#xff0c;這里不作重點贅述哈 Package Manger frameworks/base/services/java/com/android/server/pm/Settings.java frameworks/base/services/java/com/android/server/pm/PackageManagerService.java framew…

CCS基礎入門

視頻&#xff1a; CCS使用教程_嗶哩嗶哩_bilibili 創建工程 步驟一&#xff1a;創建 方法一&#xff1a; 方法二&#xff1a; 方法三&#xff1a; 步驟二&#xff1a;選擇工程配置 步驟三&#xff1a;完成創建 編譯工程&#xff1a; 方法一&#xff08;最常用&#xff09;…

Excel中自動驗證URL網址鏈接有效性

下面表格中的網址有的可以打開&#xff0c;有的不能打開 在Excel中按下 Alt F11 鍵來打開VBA編輯器&#xff0c;選擇 插入 > 模塊&#xff0c;創建一個新的模塊&#xff0c;在新創建的模塊窗口中輸入以下代碼&#xff1a; Function 測試網址(ByVal URL As String) As Str…

$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams

問題描述 動態添加子view的時候&#xff0c;報crash&#xff0c;提示$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams 完整錯誤堆棧 :12.946 11951-11951/com.xx E/CrashReport: sys default last handle start! 11-16 12:21:13.041 11951-1195…

筆記-X86下用Docker運行ARM64編譯Libreoffice

初衷 針對惡略環境下的自適應&#xff0c;記個筆記&#xff0c;苦于沒有外網的arm架構環境&#xff0c;內網中安裝個arm類型的deb&#xff0c;難如登天&#xff0c;突然發現這個好東西。 參考引用 x86架構的Ubuntu上通過Docker運行ARM架構的系統 前提 docker已經安裝好 安…

UDP協議與TCP協議1.2

UDP UDP數據報UDP報頭UDP載荷 UDP的報文格式&#xff1a; 這里的UDP長度&#xff0c;描述了整個UDP數據報&#xff0c;占多少個字節&#xff0c;這里整個UDP長度最多是64kb 在UDP中校驗和就是使用CRC的方式來完成的 數據在網絡傳輸中是可能會出現錯誤的&#xff0c;例如比特翻…

Linux日志定位實戰指令總結

一、日志定位的常用Linux指令 步驟&#xff08;一&#xff09;&#xff1a;如果你不知道日志的位置&#xff0c;Linux指令如何查找到日志所在的位置呢&#xff1f; 要快速定位到名為nfm-info.log的文件&#xff0c;你可以使用find命令或locate命令。這兩個命令都能夠搜索文件…

uniappx 安卓保活(多種技術;UTS版) Ba-KeepAlive-U

簡介&#xff08;下載地址&#xff09; Ba-KeepAlive-U 是一款android原生保活插件&#xff0c;UTS版本&#xff08;同時支持uniapp和uniappx&#xff09;&#xff0c;支持市面上大部分機型&#xff0c;Android4.4到Android14&#xff08;**注意&#xff1a;**不保證支持所有機…