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

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





