2017-10-08 295 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