1. 在android studio(AS)中引入项目,之后就要在项目中引入google所需要的库,首先要在项目级别的grade上进行增加库,首先ComplieSdkVersion 最好和targetSdkVersion版本是要保持一致,现在是26适用于大部分AS了,接着添加工具构建版本,buildToolsVersion ‘28.0.3’,最后在dependencies中添加

--------implementation 'com.google.android.gms:play-services-auth:15.0.1'

2.接下来需要在app级别的grade中存储库中添加 google(). ,接下来需要在依赖项dependencies中添加classpath 'com.google.gms:google-services:3.0.0'  ,当然还有更高的版本的,但是适合的版本才是最好的,最后需要在maven中新增地址url 'https://maven.google.com' ,app级别的grade引入也算结束了。

3.接下来需要在google集成登陆的代码,大部分的代码集成参考下这个网站

https://blog.csdn.net/lkxlkx777/article/details/80662253

https://www.cnblogs.com/zhaoyanjun/p/5337442.html

4.首先谷歌登陆界面调起来最重要的是在初始化那里

requestIdToken那里需要引入的是一个id,引入成功后就能成功调起来界面了,然后所需要的参数就会handleSignInResult通过这个回调获得,接下来就将所需要的数据发送给服务端就行了。

5.上一步所说的serverWebCliendID是需要在Google APIs Console平台中设置的,首先在第三步的网址里面的网址有提到如何关联到google APIs Console,然后就需要在项目里面中的证书中创建一个OAuth2.0的ClientID,在左上角可以新增                                                                     6.接下来就需要选择web,什么参数都不用填会自动生成的,就像下图一样,记录下web程序中的cliendID,这个就是第4步中的初始化程序中所需要的id,然后还要去右边中下载json表,表里面含有的数据在下篇支付文档中有需要用得上。                                                                             7.弄好这些之后,就可以在handleSignInResult回调中看到你所需要的数据,服务端需要什么数据你就传什么数据,如何传数据到白鹭身上就在白鹭安卓交互那篇文档有说。

8.调起登陆界面主要有两种方式,一种是自己在安卓自己写一个界面,另外一个是在白鹭本身界面这里做一些设置。网上大部分都是在安卓界面设置登陆界面的,如果需要在安卓这边自己设置一个界面我也不记得了,一般界面设置的这些R.什么的一般都是

在res/valus下自己设置自己自定义的一个值来的,接下来就在value里面自己弄好界面对上所需要的button就可以了。我用的另外一种是白鹭作为登陆界面的,因为不太懂安卓所以改用白鹭做界面。

9.登陆成功后,需要将所需要的数据请求,用的是POST请求模式请求,请求成功服务器返回成功后就可以直接进入到游戏里面了。

坑:

  1. 测试登陆时候时,手机需要手机能翻墙,首先需要下载google服务框架,里面有个谷歌四件套,一次性全部下载完,有时候登陆失败收不到google返回来的消息仅仅可能只是四件套有哪个缺失了或者不见了,有遇到过谷歌四件套会自动丢失的情况。然后手机还需要一个vpn,在国内的网站基本已经搜不到手机可以用的vpn了,建议去用电脑翻墙,去google里面下载几个可靠的vpn,最近一直用的是TomVPN,当然还有别的vpn,例如绿叶VPN,极光vpn,当然你有钱壕也可以直接用国内推荐的弹壳vpn购买套餐服务。
  1. 如果这个时候你已经连入了Google Play Console控制台,需要打包发布测试版本的话,进入到所有申请/发布管理/应用发布这里,如果上传时候遇到packname不对时,改完名字后,apk会闪退,这个时候就需要去游戏服务那里,选择关联的应用,对应的是包名,这里的包名对应的google apis console平台里面的android包名字,所以包名需要确定单一不要有多个包名,否则需要删掉项目重新弄个还需要在当前项目新建个项目。
  1. 遇到sha1值不对时需要去找大佬拿值。
  1. 如果需要当前的项目发布成功需要评级别,内容评级,然后还需要一个隐私协议政策网址,这个时候从网上随便找一篇隐私协议网址,把网址填上就可以了。打包时候需要上传带签名的release版本,不能上传debug版本。
  1. 谷歌登陆最容易出现的情况就是出现闪退的情况,一般闪退情况下大部分都是初始化这里出了问题,不然就是值的问题不然就是不能这样引用的问题,

例如我的闪退就是初始化时候引入了这个,慢慢一个个排除先不闪退才慢慢添加上去。

  1. 其中google登陆需要的平台也就Google play Console 和Google Apis Console这两个,Firebase这个平台没什么必要的是查看安装数据用户安装奔溃率这些的。
  1. 引用google服务时候需要下载Google server的,打开Android studio,Tools/sdk Manager,然后在这下面下载,然后apply就可以在引入了不然会报错

  1. 如果所有东西都做好的了话,然而返回来的结果isSuccess结果是null或者失败的情况下,确保自己的初始化拿的是web的cliendID,那么基本都是sha1值出了问题,然后就需要重新去对比下sha1值是不是出了什么问题了,基本如果sha1没问题,那么就能正确获取成功了

(PS:基本遇到的坑都在这,还有些找网址一般都可以搜出来,还有一些不记得了但是问题都不是很大。)

下面几个蛮有用的网址:https://www.cnblogs.com/riskyer/p/3304085.html

别人的git项目可参考

https://github.com/zengbingao/LoginTerminator/blob/master/app/src/main/java/com/qraved/imaginato/loginterminator/GooglePlusHelper.java

查看sha1的正确方式 :

(1) --在Android studio中点击File / other setting /第二个 ,赋值JDK location 的路径,C:\Program Files\Android\Android Studio\jre。

(2) --在文件夹中打开这个路径,然后按住shit + 右键,点击 “在此处打开命令窗口”,输入keytool命令就        可以获取到了。

(3) --网址-https://www.cnblogs.com/to-creat/p/5663622.html

详细生成-- https://www.cnblogs.com/lliuhh/p/8682230.html

keyTool的路----  C:\Program Files\Android\Android Studio\jre\jre\bin

---keytool.exe-lis-keystore

C:\Program Files\Android\Android Studio\jre\bin

PS:成功的路径:C:\Program Files\Android\Android Studio\jre\bin,shit加右键打开cmd然后输入tool,然后我就输入了keytool -list ,口令直接空格

(PS:上传包到平台的时候,一般下载来的包如果登陆不了,未上传的包登陆得了,就证明签名有问题,需要去google apis平台的android把未上传的签名改成上传后的签名,这样下载下来的包就能登陆了)

Google登陆集成笔记-含坑相关推荐

  1. Android sharesdk 集成Google登陆,报错Success,{isSigin:false}

    按照sharesdk官方的集成步骤一步不差的集成了第三方登陆,其中报错Google登陆,这是官方的第三方开发平台appkey申请地址大全:http://bbs.mob.com/forum.php?mo ...

  2. 接入google game登陆遇到的一些坑

    接入google game 登陆时遇到好多坑,以下是我遇到的一些问题 坑1.应用启动初始化时,显示链接失败,错误如下 onConnectionFailed : ConnectionResult{sta ...

  3. 瑞吉外卖项目笔记+踩坑1——基础功能

     导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 1 ...

  4. 【Java笔记+踩坑】SpringBoot——基础

      导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 ...

  5. 谷粒商城笔记+踩坑(17)——【认证模块】登录,用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录

    导航: 谷粒商城笔记+踩坑汇总篇 目录 5. 用户名密码登录 5.1[认证模块]登录业务 5.1.1 模型类,接收用户名密码 5.1.2 feign客户端新增登录功能 5.1.3 LoginContr ...

  6. cocos creator Android 接入Google登陆sdk

    准备工作 这里就不详细介绍,主要说一下客户端sdk接入 1.手机上安装Google服务 2.一个绑定信用卡的Google账号: 3.Google play客户端: 4..Google Play开发者后 ...

  7. 谷粒商城笔记+踩坑(6)——商品服务-属性及其关联分组

      导航: 谷粒商城笔记+踩坑汇总篇_谷粒商城笔记踩坑6_vincewm的博客-CSDN博客 目录 10.商品服务-属性(规格参数和销售属性) 10.1.新增属性时,新增属性和属性分组的关联关系 10 ...

  8. 谷粒商城笔记+踩坑(15)——商品详情搭建+异步编排

    导航: 谷粒商城笔记+踩坑汇总篇 目录 1.搭建页面环境 1.1.配置 Nginx 和 网关 1.2.动静资源配置 1.3.搜索页到详情页跳转 2.模型类抽取和controller 2.1.分析首页需 ...

  9. Android Google Pay 集成

    Android Google Pay 集成 官方文档:https://developer.android.com/google/play/billing/billing_library_overvie ...

  10. 谷粒商城笔记+踩坑(19)——订单模块构建、登录拦截器

    导航: 谷粒商城笔记+踩坑汇总篇 目录 1.页面环境搭建 1.1 动静分离 1.2 hosts添加域名映射 1.3 配置网关和nacos 1.4 引导类开启注册发现和feign客户端 1.5 thym ...

最新文章

  1. 如何让for循环中最后一次的输出和循环体的不一样
  2. python socket tcp_python socket 模拟tcp通讯
  3. 《MySQL实战45讲》实践篇 24-29 学习笔记 (主备篇)
  4. Java基础---数据类型转换和运算符
  5. 2021了,不会还有测试人员认为Jmeter就等于性能测试吧!
  6. 如何将namedtuples序列化为JSON
  7. 排序算法基础+冒泡排序+冒泡排序的小优化
  8. IntelliJ IDEA开发Java笔记
  9. 计算机显示不出桌面上的文件夹,为什么电脑桌面上的EXCEL文件不显示EXCEL图标...
  10. 推荐几款流行的开源报表工具
  11. 利用HISTFILESIZE和HISTSIZE在ubunutu中调整命令行History的Size
  12. 如何把一个字符串的大小写取反?(大写转小写/小写转大写)
  13. 如何绘制部门组织结构流程图
  14. 如何在iPhone和iPad上隐藏IP地址,保护个人隐私信息
  15. 从柯布-道格拉斯生产函数看云计算对传统软件工程的影响
  16. redis 失效时间单位是秒还是毫秒_redis设置过期时间
  17. 肥猪流码农的逆袭之路(1)
  18. 安卓实训运动健身系统_武汉一高校现高颜值网红健身打卡地
  19. 为什么书呆子不受欢迎?
  20. CSP CCF: 202112-3 登机牌条码 (C++)

热门文章

  1. java 毫秒转分钟和秒_毫秒转换为天、小时、分、秒
  2. AEC回声消除基础知识
  3. 海康威视设计:标准的数据中心机房设计图集DWG,70张图纸
  4. 连锁门店数字化营销,打造千城万店新零售体系
  5. android+世界地图高清版大图片,世界地图全图高清版
  6. 实验分享丨迅为IMX6ULL开发板点亮第一个led灯
  7. PyQt4和PyQt5之间的差异
  8. webpower中国区受邀出席2014梅花网中国传播业大展
  9. JavaCV推流实战(MP4文件)
  10. 游戏开发入门终极指南(技术资源大合集)