Android应用添加谷歌登录(Google Sign In)

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

服务账号创建项目

developers.google.com/workspace/g…

截屏2023-01-01 17.30.54.png 每个Google账号可以创建12个项目。

截屏2023-01-01 17.32.19.png 点击创建。

创建凭据

截屏2023-01-01 17.41.11.png

截屏2023-01-01 17.42.29.png 这里提示要先创建OAuth同意屏幕。

截屏2023-01-01 17.44.11.png 点击创建。

截屏2023-01-01 17.46.01.png 带*的信息都是要填写的,邮箱就用当前这个就好。

回来创建OAuth客户端ID。

截屏2023-01-01 17.47.47.png 选择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信息填入。

截屏2023-01-01 17.55.42.png 然后下载配置信息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官方认证微信卡片免费领取↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10710.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

google账号如何正确登陆

google浏览器账号登陆 登陆google账号失败 登陆google账号失败 发现账号登陆界面打不开&#xff0c;我们可以通过下载一个叫google同步助手的插件来解决&#xff0c;阿里云盘链接如下 链接&#xff1a;https://www.aliyundrive.com/s/dyoMUu8yXgj 提取码&#xff1a;3zt9 解压后…

我去,竟可直接用命令行操作ChatGPT

ChatGPT 确实杀疯了&#xff0c;已经有 1亿 月活用户了&#xff0c;毕竟它真的有智能的样子。 我前些年还开发过智能客服系统&#xff0c;要是早点遇到 ChatGPT&#xff0c;估计可以省了不少事。 我想接下来有许多业务场景都会使用到它&#xff0c;比如教学&#xff0c;内容创…

Gmail设置两步验证密码后,foxmail收不到gmail邮件

最近直接访问gmail.com可以登录gmail邮箱&#xff0c;但是用outlook或者foxmail登录不上&#xff0c;一直提示密码错误。原因很简单&#xff0c;就是你设置了google的两步验证密码。从这上面着手。 你需要使用应用专用密码登录 http://www.google.com/accounts/DisplayUnlockCa…

[话题] 讯飞星火与chatGPT对话题的自动回复对比 #讯飞星火大模型将超越chatgpt?#

文章目录 0. 话题内容一、你有使用过这种对话式AI吗&#xff1f;你对这类型AI有什么看法或感受&#xff1f;二、对于“讯飞星火大模型将超越chatgpt&#xff1f;”这个命题你的态度是什么&#xff1f;简要说说原因三、你认为这类型的人工智能对于现在的社会有哪些意义&#xff…

《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析

引言&#xff1a; 人工智能是当今科技领域的热门话题&#xff0c;自然语言处理是人工智能的重要分支。自然语言处理的目标是让计算机能够理解和生成自然语言&#xff0c;实现人机交互和智能服务。近年来&#xff0c;随着深度学习的发展&#xff0c;自然语言处理领域出现了许多创…

GPT Prompt中英文token对比

点击↑上方↑蓝色“编了个程”关注我~ 这是Yasin的第 93 篇原创文章 官方的token解释 -> Our models understand and process text by breaking it down into tokens. Tokens can be words or just chunks of characters. For example, the word “hamburger” gets broken …

意大利宣布禁用ChatGPT,限制OpenAI处理本国用户信息

来源&#xff1a;学术头条 据路透社消息&#xff0c;意大利个人数据保护局&#xff08;Garante&#xff09;于当地时间 3 月 31 日宣布&#xff0c;即日起禁止使用聊天机器人 ChatGPT&#xff0c;并限制 OpenAl 处理意大利用户信息。 Garante 表示&#xff0c;OpenAl “必须在 …

揭秘ChatGPT背后天价超算!上万颗英伟达A100,烧光微软数亿美元

【导读】ChatGPT背后&#xff0c;是微软超级昂贵的超级计算机&#xff0c;耗资数亿美元&#xff0c;用了英伟达数万颗芯片。 ChatGPT能成为如今火遍全球的顶流模型&#xff0c;少不了背后超强的算力。 数据显示&#xff0c;ChatGPT的总算力消耗约为3640PF-days&#xff08;即…

上海大学计算机体系结构实验四 HPL安装和测试(虚拟机centos7.6环境下保姆级教程!)

上海大学计算机体系结构实验四 HPL安装和测试&#xff08;虚拟机centos7.6环境下保姆级教程&#xff01;&#xff09; CSDN上的安装测试有很多&#xff0c;但在实际安装过程中经常碰到博客的教程缺了中间的某个指令&#xff0c;或者漏了某个配置&#xff08;写的不完全&#x…

OpenAI新上线GPT太强了,服务器瞬间挤爆,马斯克:你们太沉迷了

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 重磅干货&#xff0c;第一时间送 来自&#xff1a;机器之心 试着和 ChatGPT 聊了几句&#xff0c;它把我的问题解决了。 当每个人都在苦苦等待 GPT-4 发布时&#xff0c;OpenAI 却一直迟迟没有消息&#xff0c;仍在修…

Exception in thread “main“ java.net.SocketException: Connection reset

Exception in thread “main” java.net.SocketException: Connection reset 在做网络相关的东西时可能会遇到类似于这种连接错误的信息&#xff0c;我这里遇到了一个&#xff0c;以下是错误代码 问题重现&#xff0c;以及修复和分析 //简单的客户端 public class Center {pu…

pycharm远程连接服务器,并单步调试服务器上的代码

每天都有不同的朋友来Push我 那如果比较健忘的话&#xff0c;为啥不问一下chatGPT呢 问题的缘由在我想在本地单步调试代码。。。 我的代码完全在云端服务器的&#xff0c;还有数据集都是&#xff0c;但实际上本地代码可以通过pycharm给他传上去。 但是在后面配置的时候需要两…

复旦团队发布类ChatGPT模型MOSS,服务崩掉后并给出回复

这条路径的走通&#xff0c;为国内学术界和产业界提供了重要经验。 整理自&#xff1a;上观新闻、IT之家 进NLP群—>加入NLP交流群 ChatGPT发布以来&#xff0c;基于指令学习技术的类ChatGPT模型在我国能否开发成功&#xff0c;成为业界关注的一个焦点。今天&#xff0c;解放…

chatgpt是什么软件

ChatGPT是一款基于自然语言处理技术开发的聊天机器人软件&#xff0c;它通过与用户的交互&#xff0c;为用户提供有关各种主题的答案和解决方案。这款软件可以称为是一种智能机器人&#xff0c;它可以理解自然语言、识别语义、自主学习和适应&#xff0c;为用户提供与人类一样的…

微信小程序获取绑定授权用户手机号getPhoneNumber-全流程及手机号带*号问题

微信小程序获取微信绑定授权手机号getPhoneNumber全流程及出现手机号带*号问题详解 微信小程序文档中给出如下示例 获取微信用户绑定的手机号&#xff0c;需先调用login接口。 因为需要用户主动触发才能发起获取手机号接口&#xff0c;所以该功能不由API来调用&#xff0c;需…

微信登录与绑定方案

登录方案一&#xff08;与绑定方案一致&#xff09; 微信登录方案二 方案一&#xff1a; 优点&#xff1a;方便测试&#xff0c;与绑定流程基本一致&#xff0c;开发成本低&#xff0c;风险低 缺点&#xff1a;未关注的用户需点击关注后方可知道是否登录成功 方案二&#xff1a…

Android第三方绑定微信登录详解

微信登录官方文档地址&#xff1a;点击进入 一、准备工作 在进行微信登录之前&#xff0c;首先要在微信开放平台注册开发者账号&#xff0c;并拥有一个已审核通过的移动应用&#xff0c;并获得相应的AppID和AppSecret&#xff0c;申请微信登录且通过审核后&#xff0c;可开始接…

互联网新时代要来了(二)什么是AIGC?

什么是AIGC&#xff1f; 最近&#xff0c;又火了一个词“**AIGC”**2022年被称为是AIGC元年。那么我们敬请期待&#xff0c;AIGC为我们迎接人工智能的下一个时代。 TIPS:内容来自百度百科、知乎、腾讯、《AIGC白皮书》等网页 什么是AIGC&#xff1f; 1.什么是AIGC&#xff1f…

浏览器增强版ChatGPT无敌了?超强插件Monica,能聊能写效率Max

【导读】Chrome最强插件Monica来了&#xff01;网页版ChatGPT&#xff0c;解决一切工作问题。 提起Monica&#xff0c;你会想到什么&#xff1f; 是老友记里的主角之一MonicaGeller&#xff0c;一个热心肠的女主人形象&#xff1b;还是心跳文学部里的疯疯癫癫的Monika&#…

ChatGPT插件大爆炸 所有人都可以使用OpenAI插件的时代来了

OpenAI放出大招&#xff0c;本周将向所有ChatGPT Plus用户开放联网功能和众多插件&#xff0c;允许ChatGPT访问互联网并使用70个第三方插件。 根据华尔街见闻的梳理&#xff0c;本批第三方插件能够全方位覆盖衣食住行、社交、工作以及学习等日常所需&#xff0c;基本上能够扮演…