谷歌登录开发者平台注册地址为https://console.firebase.google.com/,并不是在https://console.developers.google.com/上进行注册,一开始我也是参考网上的帖子 在谷歌的developers网站上进行注册, 流但发现流程一直走不通,最后发现需要在firebase网站上进行注册,具体流程直接上图,简单粗暴明了:

通过上述6步就能获取到一个google-service.json文件,把它拷贝的项目的根目录下,如图6,点图6的CONTINUE按钮,会有直接示例代码。

主module的guild.gradle中的依赖,注意保证三个依赖的版本一致性:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.firebase:firebase-core:11.2.0'
    compile 'com.google.firebase:firebase-auth:11.2.0'
    compile 'com.google.android.gms:play-services-auth:11.2.0'
}

根目录下的build.gradle:

sha1的获取方式就不在这复述了,网上有很多。最后,需要注意两个事:

1.注册网址需要翻墙;

2.测试手机需要翻墙且支持google service。

下面是我的简单测试代码,需要的话可以参考一下:

public class MainActivity extends FragmentActivity implements View.OnClickListener {
    private static final String LOG_TAG = "GAccountDemo";
    private static final int RC_SIGN_IN = 0x100;
 
    private GoogleApiClient mGoogleApiClient;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        SignInButton signInButton = findViewById(R.id.sign_in_button);
        signInButton.setSize(SignInButton.SIZE_STANDARD);
        signInButton.setOnClickListener(this);
 
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestId()
                .requestProfile()
                .requestEmail()
                .build();
 
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(MainActivity.this, new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
 
                    }
                })
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .build();
 
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.sign_in_button:
                Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
                startActivityForResult(intent, RC_SIGN_IN);  //RC_SIGN_IN是requestcode
                break;
        }
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == RC_SIGN_IN) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleSignInResult(result);
        }
    }
 
    private void handleSignInResult(GoogleSignInResult result) {
        if (result.isSuccess()) {
            GoogleSignInAccount account = result.getSignInAccount();
            Log.i(LOG_TAG, "id--------" + account.getId() + "----name----" + account.getDisplayName() + "---photo--" + account.getPhotoUrl());
        }
    }
}

Android 快速集成谷歌账户登录相关推荐

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

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

  2. Android 快速集成指南 - ShareSDK Wik

    Android 快速集成指南 - ShareSDK Wiki http://sharesdk.cn/Download

  3. 如何在APP中集成Google账户登录

    下图是用谷歌账户的登录流程图: 如果在APP中使用Google账户进行登录. 步骤一: <span style="font-size:18px;">GoogleSign ...

  4. Android 快速集成阿里云OSS服务2020

    一.兼单快速集成 1.打开阿里云官网 https://www.aliyun.com并注册账号,然后登陆 2.在阿里云主页选择产品分类,再选择对象存储OSS 3.点击帮助文档开始进行集成 (1).点击帮 ...

  5. android快速集成微信分享支付

    前言 最近公司的项目中有又又又又微信分享和支付的功能,每次我都会重新集成,为了方便以后的开发,以及方便各位同仁的开发,整合了这次开发的一些点滴,方便亲们快速集成微信分享和支付. 参考文档 –1.微信官 ...

  6. 踩坑!android端集成QQ第三方登录

    有时候在想,自己怎么能这么懒,几篇早就想写的博客,一直拖到一两个月后才着手开始写,说实话都有点忘记了,但还是记录一下吧,兴许以后用的到呢~ 回归正题,这次来记录一下我集成QQ三方登录的过程吧(Ps:a ...

  7. Android快速集成抖音分享

    现在大火的app,抖音肯定有姓名.19年初抖音就开始支持Android应用接入抖音分享以及登录了,目前市场上我知道的轻颜相机已经集成分享.最近有一个新需求就是集成抖音分享,集成较为简单,但是也由于疏忽 ...

  8. 极光推送 android 最新,Android——快速集成极光推送-Go语言中文社区

    集成极光推送 1,首先肯定是注册,添加应用 2,开始自动集成比手动集成简单第一步 在 build.gradle defaultConfig { multiDexEnabledtrue applicat ...

  9. Android 快速集成高德地图,完美解决

    最终效果是,本App展示地图,点击地图导航,调转三方实现导航. 1.迈出第一步,去创建自己的应用key https://lbs.amap.com/ 1.1创建完应用之后,点击页面的{添加},要求填写自 ...

最新文章

  1. 明星企业内推+BAT面经,长三角的开发者联合起来!
  2. “.中国”域名总量跌至25.9万个:9月份净减2,249个
  3. 通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计
  4. yii框架phpexcel
  5. 程序员:代码全部替换成中文,你能接受吗?
  6. axure rp web元件ku_Axure教程丨制作自己的Axure元件库
  7. 初始C语言——完数问题
  8. 三段式状态机_verilog
  9. 一千啊计算机英语,计算机英语900句
  10. appdata是什么文件夹,
  11. oracle中连续天数计算,Oracle计算连续天数,计算连续时间,Oracle连续天数统计
  12. 嵌入式系统与硬件安全知识小记
  13. 图形驱动程序和显卡驱动什么区别_你的安卓机以后也要单独安装显卡驱动程序喽...
  14. 【张亚飞】 准确、完整地把握Flash动画设计的知识体系——Flash用户入门必读...
  15. 三不妥协 领克09混动远航版如何打开中国品牌向上进阶的新边界
  16. 计算机网络教学优秀教案,线上教学优秀案例:计算机网络基础公开课
  17. 亮风台提出基于图形匹配的可变形表面跟踪新算法 | ICCV 2019
  18. CSS元素的显示与隐藏
  19. Audition上的音频操作-将两个音源重叠成一个
  20. opencv 显示中文汉字(添加中文支持)

热门文章

  1. Quartz数据库表分析
  2. C++入门经典-例6.23-字符串数组赋值与string
  3. 【ES知识】ES基础查询语法一览
  4. 单片机51实现计算器详细代码能自己运行
  5. 二元一次在线计算机,(二元一次)方程组求解在线计算器_三贝计算网_23bei.com
  6. C++ 引用! 他是坤坤也是鸡哥
  7. Verilog专题(二十四)Lemmings3
  8. IN 与 DISTINCT
  9. Codeup最长公共子序列(LCS):最长公共子序列
  10. apriori算法的简介和改进总结