谷歌商店上架
谷歌商店上架
投稿

详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)

访客 274 0

接入环境

1、unity版本:2021.3.21f1
特别说明:通过Unityhub安装的Unity,需要安装对应版本所需的JDK、SDK、NDK,我们默认使用Unity自带的,不需要使用自己下载的,否则可能会导致打包失败的问题。详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第1张图片-谷歌商店上架
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第2张图片-谷歌商店上架

2、Google登录SDK版本:GoogleSignIn_v1.0.4.1 特别说明: (1) GoogleSignIn官方插件地址为GoogleSignIn,但是该版本目前存在一些问题。在iOS打包时会报错,因为部分代码尚未更新。 (2) 因此我们使用了经他人解决的无bug版GoogleSignIn_v1.0.4.1,其中包含了相关文档供参考。 (3) 您可以直接通过以下链接下载unitypackage包并导入自己的项目中。

开始接入

创建工程

1、新建Unity工程
2、导入前面提到的两个unitypackage包
3、创建UI,一个登录按钮,一个显示用文本,一个挂载脚本的空物体。详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第3张图片-谷歌商店上架
4、新建脚本,脚本里的代码可以直接从https://github.com/CodeMasterYi/google-signin-unity这个示例代码里面复制进来。然后把脚本拖到GoogleSdkObj上,statusText拖过去进行赋值,webclientid下面再详细说。
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第4张图片-谷歌商店上架

5、给按钮添加点击事件,如图所示。
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第5张图片-谷歌商店上架
6、接下来就是这个WebClientId了。

WebClientId获取

1、进入这个地址:谷歌API控制台,如果没有cloud项目的话需要新建cloud项目,如果已有直接选择项目进入。
2、创建OAuth 同意屏幕,如果已有可以忽略。
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第6张图片-谷歌商店上架
这4个步骤完成就可以了。
3、在“凭据”页面上,创建两个 Android 类型的客户端 ID

详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第7张图片-谷歌商店上架
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第8张图片-谷歌商店上架
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第9张图片-谷歌商店上架–这是借某位大佬的一张图–

4、在“凭据”页面上,创建一个 Web 类型的客户端 ID
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第10张图片-谷歌商店上架
5、找到创建完成的凭据,复制出WebClientId
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第11张图片-谷歌商店上架
6、把这个WebClientId赋值到代码,或者直接在inspector界面赋值。

using System;    using System.Collections.Generic;    using System.Threading.Tasks;    using Google;    using UnityEngine;    using UnityEngine.UI;    public class SigninSampleScript : MonoBehaviour    {        public Text statusText;        public string webClientId = "131761931994-ljnoj13a9gfhruftaqv2a5iicr0i30ub.apps.googleusercontent.com";        private GoogleSignInConfiguration configuration;        // Defer the configuration creation until Awake so the web Client ID        // Can be set via the property inspector in the Editor.        void Awake()        {            configuration = new GoogleSignInConfiguration            {                WebClientId = webClientId,                RequestIdToken = true            };            GameObject.DontDestroyOnLoad(this);        }        public void OnSignIn()        {            GoogleSignIn.Configuration = configuration;            GoogleSignIn.Configuration.UseGameSignIn = false;            GoogleSignIn.Configuration.RequestIdToken = true;            AddStatusText("Calling SignIn");            GoogleSignIn.DefaultInstance.SignIn().ContinueWith(              OnAuthenticationFinished);        }        public void OnSignOut()        {            AddStatusText("Calling SignOut");            GoogleSignIn.DefaultInstance.SignOut();        }        public void OnDisconnect()        {            AddStatusText("Calling Disconnect");            GoogleSignIn.DefaultInstance.Disconnect();        }        internal void OnAuthenticationFinished(Task<GoogleSignInUser> task)        {            if (task.IsFaulted)            {                using (IEnumerator<System.Exception> enumerator =                        task.Exception.InnerExceptions.GetEnumerator())                {                    if (enumerator.MoveNext())                    {                        GoogleSignIn.SignInException error =                                (GoogleSignIn.SignInException)enumerator.Current;                        AddStatusText("Got Error: " + error.Status + " " + error.Message);                    }                    else                    {                        AddStatusText("Got Unexpected Exception?!?" + task.Exception);                    }                }            }            else if (task.IsCanceled)            {                AddStatusText("Canceled");            }            else            {                AddStatusText("Welcome: " + task.Result.DisplayName + "!");            }        }        public void OnSignInSilently()        {            GoogleSignIn.Configuration = configuration;            GoogleSignIn.Configuration.UseGameSignIn = false;            GoogleSignIn.Configuration.RequestIdToken = true;            AddStatusText("Calling SignIn Silently");            GoogleSignIn.DefaultInstance.SignInSilently()                  .ContinueWith(OnAuthenticationFinished);        }        public void OnGamesSignIn()        {            GoogleSignIn.Configuration = configuration;            GoogleSignIn.Configuration.UseGameSignIn = true;            GoogleSignIn.Configuration.RequestIdToken = false;            AddStatusText("Calling Games SignIn");            GoogleSignIn.DefaultInstance.SignIn().ContinueWith(              OnAuthenticationFinished);        }        private List<string> messages = new List<string>();        void AddStatusText(string text)        {            if (messages.Count == 5)            {                messages.RemoveAt(0);            }            messages.Add(text);            string txt = "";            foreach (string s in messages)            {                txt += "\n" + s;            }            statusText.text = txt;        }    }

打包测试

1、设置一下unityplayersetting,圈起来的地方要注意,
(1)包名要和google上架的一致,
(2)打包方式il2cpp,
(3)keystore要填好,
(4)custom main gradle Template要勾上,然后google地址换成阿里云的

maven {            // url "https://maven.google.com"            url "https://maven.aliyun.com/nexus/content/groups/public"        }

详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第12张图片-谷歌商店上架
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第13张图片-谷歌商店上架

(5)custo gradle properties Template要勾上,然后gradleTemplate.properties脚本里需要加上这两句

android.useAndroidX=trueandroid.enableJetifier=true

详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第14张图片-谷歌商店上架

2、切换到安卓平台
3、注册安卓依赖到mainTemplate.gradle文件
(1)
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第15张图片-谷歌商店上架

(2)resolve之后修改maven地址
详解Unity接入Google登录的流程(unity怎么接入sdk)(unity怎么接入sdk)-第16张图片-谷歌商店上架
4、打包测试

整个工程已上传,点击下面的链接可免费下载:
1. 下载测试工程
2. 下载GoogleSignIn_v1.0.4.1.unitypackage
3. 下载安卓依赖管理插件EDM4U

标签: 谷歌商店上架 详解 流程

上一篇 Unity集成Google登录,遇到的问题与解决方案(unity chrome)(unity googleplay)

下一篇 导入Unity时遇到了Goolgle.Protobuf.dll的错误。(unity导入项目怎么没有变化)(vuforia在unity导入出错)

发表评论 (已有0条评论)

取消回复

还木有评论哦,快来抢沙发吧~

随机图文

热评文章

  • 2022最新Google Play 上架全流程(2022最新供暖规定)(2022最新港剧粤语剧港剧网)

    2022最新Google Play 上架全流程(20

    2023-07-130
  • 2023最新Google Play 上架全流程(2023最新个人对照检查材料)(2023最新交强险价格表)

    2023最新Google Play 上架全流程(20

    2023-07-130
  • GooglePlay应用上架流程(googleplayservicesforar应用)(google play 上的应用)

    GooglePlay应用上架流程(googlepla

    2023-07-130
  • 在Google Play上架应用的过程可以简单概括为以下几个步骤:(google play上架app)(上googleplay商城)

    在Google Play上架应用的过程可以简单概括为

    2023-07-130
  • 必备指南:Google Play应用上架流程揭秘(避免陷阱!)(google!)(googleb)

    必备指南:Google Play应用上架流程揭秘(避

    2023-07-130
  • Google Pay最新版本的App上传指南(google pay store apk download)(google pay store apk download)

    Google Pay最新版本的App上传指南(goo

    2023-07-130

最新留言

    玻璃钢生产厂家赤峰玻璃钢雕塑生产厂家白银玻璃钢雕塑圣诞玻璃钢雕塑厂家工厂东莞绿色种植玻璃钢花盆山东季节性商场美陈哪家好商场美陈公司长沙天津玻璃钢雕塑介绍德州肖像玻璃钢人物雕塑扬州设计玻璃钢雕塑方案重庆顺昌玻璃钢雕塑报价明细表热销玻璃钢动物雕塑绍兴玻璃钢雕塑厂招聘玻璃钢雕塑惠新专业河北商场创意商业美陈怎么样厦门手糊法玻璃钢雕塑销售安乡玻璃钢花盆花器信阳玻璃钢仿真雕塑河南玻璃钢马雕塑厂家晋城不锈钢牛玻璃钢人物雕塑临沂卡通玻璃钢雕塑价格开荒牛雕塑玻璃钢仿铜牛摆件维西玻璃钢雕塑厂中牟玻璃钢大型雕塑阜康玻璃钢动物雕塑滁州水果玻璃钢雕塑设计商场玻璃钢卡通雕塑巢湖玻璃钢仿铜雕塑镜面不锈钢玻璃钢雕塑厂家无锡拉丝玻璃钢雕塑古代玻璃钢雕塑规格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

    玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化