Android平台添加Google登录便于读取用户信息,也便于将应用发布到GooglePlay。 具体步骤如下,个人觉得还是比较繁琐的,一步一步来看吧。

服务账号创建项目

developers.google.com/workspace/g…

每个Google账号可以创建12个项目。

点击创建。

创建凭据

这里提示要先创建OAuth同意屏幕。

点击创建。

带*的信息都是要填写的,邮箱就用当前这个就好。

回来创建OAuth客户端ID。

选择Android。

然后获取jks的SHA1指纹。debug.keystore的调试密钥库也行,密码是android。

keytool -keystore path-to-debug-or-production-keystore -list -v

path-to-debug-or-production-keystore换成你打包签名用的jks或debug.keystore的路径也行。然后将SHA1信息填入。

然后下载配置信息JSON文件,后续代码会用到里面的信息。

代码编写

创建GoogleSignInClient

GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestId()
.requestProfile()
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, googleSignInOptions);

点击谷歌登录按钮跳转google登录

Intent intent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(intent, CODE_SIGN_IN);

登录的回调

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CODE_SIGN_IN && resultCode != 0) {Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);handleSignInResult(task);
}
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {try {GoogleSignInAccount account = completedTask.getResult(ApiException.class);GgOrFbUserInfo ggOrFbUserInfo = new GgOrFbUserInfo();ggOrFbUserInfo.setAvatar(account.getPhotoUrl() == null ? "": account.getPhotoUrl().toString());ggOrFbUserInfo.setLtype(1);ggOrFbUserInfo.setUserId(account.getId());ggOrFbUserInfo.setEmail(account.getEmail());ggOrFbUserInfo.setEmailVerified(1);ggOrFbUserInfo.setName(account.getDisplayName());ggOrFbUserInfo.setLanguage(CommonPramsUtil.getSystemLanguage());ggOrFbUserInfo.setFamilyName(account.getFamilyName() == null ? "" : account.getFamilyName());ggOrFbUserInfo.setGivenName(account.getGivenName());ggOrFbUserInfo.setRegion("zn");login(ggOrFbUserInfo); // 这里拿用户google账号的信息调用自己业务的loginif (account.getPhotoUrl() != null) {Glide.with(LoginActivity.this).load(account.getPhotoUrl()).into(ivAvatar);}} catch (ApiException e) {// 在这里获取错误信息}
}

退出登录

mGoogleSignInClient.signOut().addOnCompleteListener(this, new OnCompleteListener<Void>() {@Overridepublic void onComplete(@NonNull Task<Void> task) {}
});

后续

你可以使用firebase做一些其他的事情,如埋点统计等。

dora
原文链接:https://juejin.cn/post/7183633464069980216

最后

如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。

相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。

全套视频资料:

一、面试合集
二、源码解析合集

三、开源框架合集

欢迎大家一键三连支持,若需要文中资料,直接点击文末CSDN官方认证微信卡片免费领取↓↓↓

Android应用添加谷歌登录(Google Sign In)相关推荐

  1. 个人博客站点添加谷歌联盟Google Adsense

    自己通过hexo+github page 自己搭建了个小站,目的是为了平时的工作学习一个积累总结吧.然后通过圈子交流,决定挂个广告,睡后工资算作为副业的一种吧,平时也没怎么在意,只是坚持写自己博客,定 ...

  2. 用谷歌按钮登录_使用非常简单的设置即可登录Google的按钮

    用谷歌按钮登录 vue-google-login (vue-google-login) Button to login with google with really simple setup. 使用 ...

  3. Android 快速集成谷歌账户登录

    谷歌登录开发者平台注册地址为https://console.firebase.google.com/,并不是在https://console.developers.google.com/上进行注册,一 ...

  4. Android项目集成谷歌账户登录

    在做国外项目的时候,许多需要集成谷歌账户登录功能. 集成谷歌登录后,能直接调用谷歌的账户登录界面进行登录操作(包括注册新用户.忘记密码等),同时会把账户信息保存到设备的account manager中 ...

  5. [技术篇] Android11上导入GMS后,登录Google账号提示“您的账号未成功添加”问题。

    一.项目需求: 在项目中导入Google框架,Google相关功能可以正常使用. 二.功能实现: 1.首先下载Google框架GMS包,可以在The Open GApps Project网站下载.选择 ...

  6. android谷歌补丁日期,在谷歌日历Android中添加开始日期和结束日期之间所有日期的事件...

    在谷歌日历 Android中添加开始日期和结束日期之间所有日期的事件.我希望每3个月剩余一次,直到结束日期. 这是我的功能 public void addEvent1(Context ctx, Str ...

  7. android 中添加 Google Play Game Services 功能 1

    第一步 https://developers.google.com/games/services/android/quickstart 根据里描述的步骤 先 更新android sdk  Extras ...

  8. Android中使用Kotlin实现Google、FaceBook、Twitter登录的封装

    最近由于项目做国际化,所以需要接入Google.FaceBook.Twitter等各种第三方登录的Api,于是查找官网资料,申请各种key和密钥,最后成功完成了这三个第三方登录Api的功能,但是由于很 ...

  9. 谷歌账号登录Google API Oauth 2.0简单申请和使用教程

    在点击编辑,修改回调URL 编辑完后可以参照google开发文档开发 https://developers.google.com/accounts/docs/OAuth2?hl=zh-CN 然后按照需 ...

最新文章

  1. 英语口语(5月31日)
  2. 面试题编程题11-python 生成随机数
  3. fgo服务器维护补偿什么时候才有,fgo国服4月12日版本版本更新公告 维护18个小时 补偿18个圣晶石...
  4. mfc 隐藏主窗口 visible_第80讲:工作表数据与UserForm窗口的交互,记录的编辑和保存...
  5. r语言 adf检验_r语言中如何进行两组独立样本秩和检验
  6. cdn厂商 同兴万点_CDN进入牌照时代 工信部规范和清理CDN市场
  7. 2018年手机摄像头模组市场调研报告
  8. P1828 香甜的黄油 Sweet Butter (spfa)
  9. MD5加密 java实现
  10. gnome-mplayer 挂载 srt字幕 乱码
  11. firefox 火狐浏览器安装java插件
  12. win10计算机用户名和密码怎么找到,win10怎么查看wifi账号密码_win10电脑怎么看wifi密码...
  13. 下载谷歌浏览器官方正式(稳定)版以及历史各种版本
  14. rancher报错Not using `--random-fully` in the MASQUERADE rule for iptables because the local version of
  15. 如何在mac上使用虚拟机中的oracle
  16. vue.js 的学习之路
  17. java 线程 中断标志位
  18. linux的system函数命令大全,Linux下system函数
  19. 能否打开人工智能的“黑箱”?
  20. 【5】SCI易中期刊推荐——计算机科学(中科院2区)

热门文章

  1. C99/Cpp 使用printf 时format大全
  2. memcpy 内存越界分析
  3. 华为视频会议终端TE40配置
  4. Python备份CSDN博客
  5. 你们有半数以上的人留下的是gmail而不是QQMail/Foxmail的电子邮件
  6. 最美的公式:你也能懂的麦克斯韦方程组(微分篇)
  7. 超级计算机应用于石油勘测等方面,算天算地 算人——国家超级计算天津中心主任刘光明解读超级计算机系统应用(二)...
  8. 人机大战5个误区:人类没那么差阿尔法狗不会防水
  9. WMS系统数据库表设计
  10. validation检查框架