2017-10-08 245 views
0

我尝试在用户应该能够通过他的电话号码登录的情况下构建一个Messenger。我使用正确的SHA-1代码和正确的软件包名称在Firebase中设置了我的项目。但是当我尝试验证我的电话号码时,出现此错误:Firebase电话身份验证

This app is not authorized to use Firebase Authentication. 
Please verifythat the correct package name and SHA-1 are configured 
in the Firebase Console. [App validation failed] 

当我从Android Studio启动我的应用程序时,它工作正常。但是,当我将应用上传到Google Play商店时,而不是正在工作。我究竟做错了什么?

我开始使用此代码验证:

startActivityForResult(
       AuthUI.getInstance() 
         .createSignInIntentBuilder() 
         .setAvailableProviders(
           Arrays.asList(
             new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build() 
           )) 
         .build(), 
       RC_SIGN_IN); 

我有这个库进行身份验证:

compile 'com.google.firebase:firebase-auth:11.0.1' 

,这对于UI:

compile 'com.firebaseui:firebase-ui:2.0.1' 

回答

2

我想你有两个SHA-1密钥,一个是您在Android Studio中使用的密钥,一个是在将应用上传到商店时使用的密钥。您可以检查与keytool命令的SHA-1键:

的keytool -list -v -keystore keystorename -alias 别名 -storepass Storepass用于 -keypass keypass的

此外,如果您已启用应用签名,Google将创建一个新证书,用于在用户设备上签名APK。

https://support.google.com/googleplay/android-developer/answer/7384423

在发布管理部分,检查应用程序签名。应用程序签名证书是发送到用户设备的证书,上传证书是您上传的证书。将应用签名证书中的SHA-1添加到您的Firebase项目。

+0

我应该使用应用程序签名证书还是Uploadcertificate? –

+0

应用程序签名证书,上传证书是您上传的证书,应与Android Studio中的证书相同。添加密钥后,可能需要几分钟时间才能生效。 – merterpam