【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}");
               }); ;
        }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity游戏发布到微信抖音小游戏可以按照以下步骤操作: 1. Unity版本选择:首先确保使用的是适配微信抖音小游戏Unity版本,比如2019.4.20f1,这个版本支持微信开放平台的运行时环境。 2. 安装插件:在Unity Asset Store中搜索并安装微信小游戏插件,例如"WeChat Mini Games SDK for Unity"。将插件导入项目中。 3. 导出项目:在Unity编辑器中,选择菜单栏中的"WeChat Mini Games"选项,点击"Export"按钮来导出小游戏项目。导出的结果将生成一个小游戏项目文件夹。 4. 开发者工具:下载并安装微信小游戏开发者工具或抖音小游戏开发者工具。微信小游戏开发者工具适用于发布到微信小游戏平台,抖音小游戏开发者工具适用于发布到抖音小游戏平台。 5. 创建小游戏项目:在微信小游戏开发者工具或抖音小游戏开发者工具中,使用"初始化项目"、"导入项目"等选项来创建一个新的小游戏项目,并选择Unity导出的项目文件夹。 6. 调试和发布:通过微信小游戏开发者工具或抖音小游戏开发者工具,进行项目的调试,检查游戏的运行状态和效果。调试通过后,点击发布按钮,将游戏发布到对应的小游戏平台上。 7. 提交审核:根据微信或抖音小游戏平台的要求,将提交发布后的小游戏进行审核。一旦通过审核,游戏将正式上线并可在微信或抖音上访问和玩耍。 以上是将Unity游戏发布到微信抖音小游戏的大致步骤,具体操作和流程可能会根据不同的Unity版本和开发者工具版本略有差异。建议在进行发布前,先了解相关平台的文档和开发者指南,以确保正确地完成发布过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值