![](/img/trans.png)
[英]Google signIn not working with firebase Android on 6.0.1 on nexus 5
[英]Google signin with firebase on Android not working
我的应用程序已经发布了一段时间,到目前为止,Google 登录工作正常。 它只是突然停止工作。 我检查了所有内容,包括 SHA-1 指纹、client_id 等。
经过测试,我发现结果活动不会返回 RESULT_OK。
private lateinit var googleSignInClient: GoogleSignInClient
private var googleSigninLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){
if(it.resultCode == RESULT_OK){
val task = GoogleSignIn.getSignedInAccountFromIntent(it.data)
try {
val account = task.getResult(ApiException::class.java)
account.idToken?.let {token->
firebaseAuthWithGoogle(token)
}
} catch (e: ApiException) {
Log.d("LOGIN_DEBUG", e.message.toString())
}
}else{
//This is where the code reaches and I am getting RESULT_CODE 0 in the logs
toast(this@MainActivity, getString(R.string.there_was_an_error))
Log.d("LOGIN_DEBUG", it.resultCode.toString())
}
}
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build()
googleSignInClient = GoogleSignIn.getClient(this, gso)
google_signin.setOnClickListener {
val signInIntent = googleSignInClient.signInIntent
googleSigninLauncher.launch(signInIntent)
toast(this@MainActivity, resources.getString(R.string.please_wait))
}
我看过很多问题,但没有一个解决方案对我有用。 任何帮助是极大的赞赏。
您能否检查一下您的 google-services.json 文件?
检查您的发布 SHA-1 是否存在。
如果游戏控制台生成签名密钥,则必须在 firebase 中添加此密钥的 SHA-1,然后再次下载 google 服务文件
您可以在游戏控制台的应用页面中找到它(发布 -> 设置 -> 应用完整性)
如果您使用签名密钥发布,则从 android 工作室生成签名报告(您也可以在游戏控制台中找到 SHA-1)并确保将此 SHA-1 添加到 Firestore,然后再次下载文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.