当前位置: 首页 > 知识库问答 >
问题:

在play store中发布后,Google身份验证不工作

仰欣悦
2023-03-14

将app上传到谷歌play后,谷歌手机认证就不工作了。下面是我在logcat中得到的错误。

此应用程序未被授权使用Firebase身份验证。请验证Firebase控制台中是否配置了正确的包名和SHA-1。

我读到的关于堆栈溢出的大多数答案都告诉我“SHA1密钥对于签名的APK是不同的。所以您有两个SHA1,一个用于调试版本和发布版本。发布版本的SHA1可以从keystore文件中获得。”

这些答案解决不了我的问题。以下是我到目前为止所做的工作。

我已经在google firebase控制台中添加了debug和release SHA1键。

下载了新的google-services.json文件,并用旧文件替换到投影文件夹中。

生成了android Studio的签名apk。

如果我在我的手机中手动安装apk,调试和发布版本的apk都可以正常工作。

但如果我将发布的版本上传到google play进行beta测试,它会给我app validation failed错误。

我也确认了SHA1在Google Play控制台和Firebase控制台的“应用签名”中是相同的。

请帮忙。

这里是Build.Gradle

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "-----"
        minSdkVersion 15
        targetSdkVersion 27
        useLibrary 'org.apache.http.legacy'
        versionCode 7
        versionName "1.0"
        multiDexEnabled true
        manifestPlaceholders = [onesignal_app_id               : "---",
                                // Project number pulled from dashboard, local value is ignored.
                                onesignal_google_project_number: "REMOTE"]
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    repositories {
        maven {
            url 'http://dl.bintray.com/amulyakhare/maven'
            maven { url 'https://dl.bintray.com/alexeydanilov/maven' }
        }
        maven {
            url 'https://raw.githubusercontent.com/felixb/mvn-repo/master/'
        }
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        mavenCentral()
    }

}

dependencies {
    compile "com.splitwise:tokenautocomplete:2.0.8@aar"
    compile 'com.googlecode.libphonenumber:libphonenumber:8.4.2'
    compile 'com.viewpagerindicator:viewpagerindicator:2.4.3'
    compile 'com.anjlab.android.iab.v3:library:1.0.44'
    compile 'com.onesignal:OneSignal:[3.9.1, 3.99.99)'
    compile 'com.google.firebase:firebase-auth:15.0.0'
    compile 'com.google.android.gms:play-services-safetynet:15.0.0'
    compile 'com.android.support:design:27.1.1'
    compile 'com.android.support:appcompat-v7:27.1.1'
    compile 'com.github.amlcurran.showcaseview:library:5.4.3'
    compile 'com.android.support:multidex:1.0.3'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
apply plugin: 'com.google.gms.google-services'

共有2个答案

车思淼
2023-03-14

如果您已经添加了SHA1和所有内容,请检查Android device api是否处于活动状态,然后请执行以下操作:https://console.cloud.google.com/apis/library/androidcheck.googleapis.com

微生烨然
2023-03-14

最近,我们的应用程序集成了Firebase身份验证,我们就面临这个问题。

APK运行良好,电话号码的OTP也正常运行。但同样的APK,当从Google Play下载时,并不工作,因为电话号码的OTP没有来。

正如上面提到的,出现这个问题的原因是:我们与Google Play签署了我们的应用程序,而Google Play签署了一个新的SHA-1指纹。

现在,您可以将这个SHA-1添加到您的Firebase项目Overview>add F指纹,而不是用Google Play生成的新SHA-1重建APK。这使得我们的应用程序从Google Play开始工作。

 类似资料:
  • OTP验证在调试构建中正常工作。我还在firebase控制台中为发行版添加了SHA键。但是当我生成签名的apk并将其上传到播放商店时,电话身份验证就不起作用了。我应该保留调试SHA密钥和释放密钥后,我上传的应用程序到生产的play Store?在生产过程中使用firebase应用程序时,谷歌应用程序签名是强制的吗?

  • 在本章中,我们将向您展示如何在Firebase中设置Google身份验证。 第1步 - 启用Google身份验证 打开Firebase仪表板,然后单击左侧菜单上的“ Auth ”。 要打开可用方法列表,您需要单击选项卡菜单中的SIGN_IN_METHODS 。 现在,您可以从列表中选择Google ,启用它并保存。 第2步 - 创建按钮 在我们的index.html ,我们将添加两个按钮。 的in

  • 我遵循了认证教程,但遇到了一些问题。 它不能将变量传递给导入的函数。

  • 我使用的firebase手机身份验证不起作用,它在调试模式下起作用,但当我在playstore的发布版本中发布它时,它显示错误 变体失败com.google.firebase.authFirebase AuthExcure:此应用无权使用Firebase身份验证。请确认Firebase控制台中配置了正确的软件包名称和SHA-1。[应用验证失败] 这是错误信息的截图

  • 我试图在PhantomJS中打开一个需要HTTP身份验证的网页。我的脚本基于loadspeed.js示例: 我可以从渲染的page.jpg中看到,我每次都得到401分。我还使用Wireshark跟踪了HTTP会话,这表明GET请求中没有向给定URL发送身份验证标头。 我到底做错了什么?我刚刚开始使用PhantomJS,但我整个晚上都在寻找,没有走远...

  • 我目前正在使用FirebaseAuth和web小部件库firebaseui web开发基于VueJS的登录流原型。 成功认证后(无论是< code>password还是< code>google provider ),小部件加载栏会不断重复,firebaseui-web不会触发其< code > signinseccesswithauthresult 回调。但是对< code > identity