android - Firebase GoogleSignIn 无法通过 Play 商店提供发布版本
问题描述
我正在使用 Firebase SDK 将 Google SignIn 集成到我的 Android 应用程序中。下面是我检查身份验证是否成功的代码。当我通过 Play 商店分发发行版 APK 时,身份验证失败,错误代码为 10。使用 adb install 或 Crahlytics Beta 安装相同的发行版 APK 或只需单击设备上的“apk”文件即可正常工作。
override fun onActivityResult(requestCode: Int , resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
var task: Task<GoogleSignInAccount> = GoogleSignIn.getSignedInAccountFromIntent(data);
try {
// Google Sign In was successful, authenticate with Firebase
var account: GoogleSignInAccount = task.getResult(ApiException::class.java)
firebaseAuthWithGoogle(account);
} catch (e: ApiException) {
abslytics!!.logException("google_signin_failed", e)
// Google Sign In failed, update UI appropriately
Toast.makeText(this@GoogleSignInActivity, "Google sign in failed: " + e.message, Toast.LENGTH_LONG).show()
// [START_EXCLUDE]
updateUI(null);
// [END_EXCLUDE]
}
}
}
解决方案
将 SHA-1 证书指纹和 SHA-256 证书指纹从 google play 控制台添加到您的 firebase 控制台。要获得这两个密钥,请转到您的 google play 控制台 > 发布管理 > 应用签名 > 应用签名证书。
推荐阅读
- swift - Swift 4 Alamofire 和编码 UIImage 的问题
- laravel-5 - 如何为此查询创建雄辩的关系?
- database - Laravel Modelname:find($id) 还是 ModelName::findorFail($id)?
- python - 为什么 sort 不按数字顺序返回此列表?
- java - NppExec 无法编译 Java
- laravel-5.4 - Laravel Blade read|detail 视图获取选择的选项而不是选择下拉列表的值
- java - 递归查找并行数组上的值
- c++ - typeid.name() 在遍历向量时不会改变。动态转换和 typeid 基类指针
- python - python中字典的多键值查找
- android - Localytics Android:将应用程序置于后台会导致 BackgroundService 崩溃