Android-接入谷歌登录

本文介绍了在Android应用中集成Google授权登录和一键登录的步骤,包括在Firebase中创建项目获取key,以及处理授权登录的代码示例。同时,文章列举并解决了几种常见的登录错误,如白名单错误、API调用限制等。

1.登录分类

授权登录一键登录
一键登录在部分设备会登录不了,报白名单错误,国外的 大多数 应用使用的是授权登录,建议使用授权登录

2.申请key

在FireBase中直接创建Android 项目,会在Google Cloud 直接生成相关的key,不需要在GoogleCloud手动创建。
会生成一个Android 和 一个 Web 的配置,需要使用 Web 的 Key。

3.授权登录

class LoginActivity : BaseActivity() {
   
   
    companion object {
   
   
        private const val SIGN_LOGIN = 901

        /**
         * google自动登录,使用的是Web的key。web项目会在Android项目生成的时候自动生成
         */
        private const val SERVER_CLIENT_ID = "xxx"
    }
    
    private lateinit var auth: FirebaseAuth
    private var mGoogleSignInClient: GoogleSignInClient? = null

    private fun signInClient() {
   
   
        if (mGoogleSignInClient == null) {
   
   
            val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestEmail()
                .requestIdToken(SERVER_CLIENT_ID)
                .build();
            mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
        }
    }


    private fun getGoogleIntent(): Intent {
   
   
        var signInInten: Intent
        if (mGoogleSignInClient == null) {
   
   
            signInClient();
        }
        signInInten = mGoogleSignInClient!!.signInIntent;
        return signInInten
    }

    override fun onCreate(savedInstanceState: Bundle?) {
   
   
        super.onCreate(savedInstanceState)
        ...
        auth = FirebaseAuth.getInstance()
        btnLoginGoogle.setOnClickListener {
   
   
                signInClient()
                startActivityForResult(getGoogleIntent(), SIGN_LOGIN)
        }
    }

    override fun onActivityResult(requestCode: Int
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值