我正在开发一个简单的应用程序。 我在以下文档中使用了Firebase Auth。 https://firebase.google.com/docs/auth/android/firebaseui?authuser=0#top_of_page
在调试模式下,它可以正常工作。 在发布模式下,我创建一个Apk文件,然后直接安装它,并且效果也很好。
但是当我将其发布到PlayStore中并下载时,它失败了。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_SIGN_IN) {
val response = IdpResponse.fromResultIntent(data)
if (resultCode == Activity.RESULT_OK) {
val user = FirebaseAuth.getInstance().currentUser
info("onActivityResult - ${user!!.email}")
mPresenter.isAlreadyExistUser(user!!.email!!)
} else {
error("signIn failed - ${response!!.error}") <-- Only when I downloaded it from playstore, it failed...
response!!.error!!.printStackTrace()
}
}
}
W/System.err: com.firebase.ui.auth.FirebaseUiException: Code: 12500, message: 12500:
W/System.err: at com.firebase.ui.auth.data.remote.GoogleSignInHandler.onActivityResult(GoogleSignInHandler.java:106)
W/System.err: at com.firebase.ui.auth.ui.idp.SingleSignInActivity.onActivityResult(SingleSignInActivity.java:121)
我试图找到错误代码12500,但我找不到。 怎么了?!
我在gradle中执行了“ signinReport”,然后添加了调试并将SHA-1释放到Firebase中。
然后我下载了“ google-services.json”。
我再次告诉您,它在调试apk和发行apk中都可以正常工作。 但是,当我将运行良好的发行版APK上传到PlayStore时,失败了。
我真的不知道...
答案 0 :(得分:3)
Google会验证您的签名,删除该签名,并处理该软件包以生成基本APK,配置APK和动态功能APK(如果适用)。然后Google重新签署APK。因此,您必须在Firebase控制台中为您的应用添加新的SHA-1标志。 打开Google Play Console
使用提供的 SHA-1 作为Firebase。