【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.mzph.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;**不保证支持所有机…