我已经制作了我的应用程序并将其发布到 Google Play 商店。我使用 Firebase 电话身份验证来验证成员,在我将它发布到 Play 商店之前它运行良好,但是当我从 google play 下载它时,它会抛出一个错误说:
(此应用无权使用 Firebase 身份验证。请验证 Firebase 控制台中是否配置了正确的包名称和 SHA-1。[应用验证失败])
我还在 google play 控制台中添加了应用程序签名的 SHA 1、SHA 256 和上传我的应用程序的 SHA 1、SHA 256,但不幸的是,它不起作用。
答案 0 :(得分:0)
如果用于调试 apk 的 Firebase 电话身份验证成功运行但不适用于发布 apk,则说明您的密钥存在问题。
使用此命令生成发布密钥:keytool -list -v -keystore "your jks 文件路径" -alias "key name"
添加 jks 路径和密钥名称并在 android studio 终端中运行此命令。
或
您还可以从 google play 控制台获取 SHA1 和 SHA-256。转到 Play 商店控制台 > 您的项目 > 发布 > 设置 > 应用签名。
答案 1 :(得分:0)
问题是您已为调试添加了 SHA1 和 SHA256,并在将其上传到 Play 商店之前发布了它的工作原理。
解决方案
联系拥有 Google Play 商店帐户的人。 从他那里获取 Play 商店的 SHA1 和 SHA256 并添加到 Firebase 控制台。
验证以下内容
1- 包名
2- 沙 1 & 沙 256
3- 将 Safetynet 代码添加到您的应用
fun request_safetynet(){
SafetyNet.getClient(this)
.enableVerifyApps()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
if (task.result.isVerifyAppsEnabled) {
Log.e("SAFETYNET", "The user gave consent to enable the Verify Apps feature.")
// Toast.makeText(this,"user gave consent",Toast.LENGTH_SHORT).show()
} else {
Log.e(
"SAFETYNET",
"The user didn't give consent to enable the Verify Apps feature."
)
// Toast.makeText(this,"user didn't give consent",Toast.LENGTH_SHORT).show()
}
} else {
Log.e("SAFETYNET", "A general error occurred.")
// Toast.makeText(this,"general error occurred",Toast.LENGTH_SHORT).show()
}
}
}
fun safetynet_Verify_enabled(){
SafetyNet.getClient(this)
.isVerifyAppsEnabled
.addOnCompleteListener { task ->
if (task.isSuccessful) {
if (task.result.isVerifyAppsEnabled) {
Log.e("SAFETYNET", "The Verify Apps feature is enabled.")
//Toast.makeText(this,"Verify Apps feature is enabled.",Toast.LENGTH_SHORT).show()
} else {
Log.e("SAFETYNET", "The Verify Apps feature is disabled.")
// Toast.makeText(this,"The Verify Apps feature is disabled.",Toast.LENGTH_SHORT).show()
}
} else {
Log.e("SAFETYNET", "A general error occurred.")
//Toast.makeText(this,"safetynet_Verify_enabled : general error occurred",Toast.LENGTH_SHORT).show()
}
}
}
答案 2 :(得分:0)
我已经完成了这些步骤,然后在从 Play 商店下载后就可以工作了:
在 firebase 控制台中,我创建了一个默认名称为 Google Play Console Developer 的新项目...并从应用程序中添加了 sha1 和 sha256 并将 google.json 文件复制到应用程序,然后: Play 管理中心 -> 设置 -> 开发者帐户 -> API 访问: 然后我将创建的 firebase 项目 Google Play Console Developer... 与 google 联系起来,之后在打开的分页上我添加了凭据。 之后一切正常。