栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android第三方登录谷歌登录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android第三方登录谷歌登录

集成FCM

谷歌登录开发者平台注册地址为https://console.firebase.google.com/

点击添加项目

集成FCM不再赘述,可参考以下文章:

老板说:明天来加班写个FCM消息推送功能......_IT实战联盟Lin的博客-CSDN博客_fcm推送

Google FCM 离线推送简明教程 - 简书 (jianshu.com)

集成谷歌登录sdk

在app目录下的gradle.build中配置版本

    //FCM Google相关
    implementation 'com.google.firebase:firebase-messaging:23.0.2'
    implementation 'com.google.firebase:firebase-auth:21.0.3'
    implementation 'com.google.android.gms:play-services-auth:20.2.0'
FireBase控制台上设置登录提供方

 填写邮件地址、项目公开名

 在填写前别忘了添加SHA1指纹

 不知道SHA1码的参考下面的文章:

AndroidStudio查看签名文件.jks内容证书指纹SHA1_huayf1989的博客-CSDN博客_android studio 查看证书

 点击保存后显示如下

 代码部分
    @Override
    protected void initListeners() {
        super.initListeners();
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestId()
                .requestProfile()
                .requestEmail()
                .build();

        mGoogleSignInClient = GoogleSignIn.getClient(getActivity(), gso);

        binding.google.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent signInIntent = mGoogleSignInClient.getSignInIntent();
                startActivityForResult(signInIntent, RC_SIGN_IN);

            }
        });

    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
        if (requestCode == RC_SIGN_IN) {
            // The Task returned from this call is always completed, no need to attach
            // a listener.
            Task task = GoogleSignIn.getSignedInAccountFromIntent(data);
            handleSignInResult(task);
        }
    }

    private void handleSignInResult(Task completedTask) {
        try {
            GoogleSignInAccount account = completedTask.getResult(ApiException.class);

            // Signed in successfully, show authenticated UI.
            Log.e(TAG, "account--------------->>>" + account.getEmail() + " ," + account.getAccount() + " ," );
            String displayName = account.getDisplayName();
            String msg = "欢迎"+displayName+", 登录成功!";
            ToastUtil.successShortToast(msg);
        } catch (ApiException e) {
            // The ApiException status code indicates the detailed failure reason.
            // Please refer to the GoogleSignInStatusCodes class reference for more information.
            Log.e(TAG, "signInResult:failed code=" + e.getStatusCode() + "  " + GoogleSignInStatusCodes.getStatusCodeString(e.getStatusCode()));
        }
    }

完成! 

可以去官网参考官方文档:

尝试使用 Android 登录功能  |  Google Sign-In for Android  |  Google Developershttps://developers.google.com/identity/sign-in/android/start

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943487.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号