web-dev-qa-db-ja.com

エミュレーターの「このアプリはFirebase Authenticationの使用を許可されていません」

エミュレータでアプリを実行しようとすると、このエラーが発生します。

私がやったこと:

  1. Firebase-UIを使用して、Android O
  2. Playストアを更新しました。
  3. FirebaseコンソールにすべてのSHA-1コードを追加しましたが、パッケージ名は一致しています。

実際、実際のデバイスでアプリを実行すると、完全に実行され、ログインできます。

This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console.
 com.google.firebase.auth.FirebaseAuthException: 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. Is app running on a physical device? ]
 at com.google.Android.gms.internal.jz.zzK(Unknown Source:239)
 at com.google.Android.gms.internal.kp.zza(Unknown Source:2)
 at com.google.Android.gms.internal.kq.run(Unknown Source:37)
 at Android.os.Handler.handleCallback(Handler.Java:789)
 at Android.os.Handler.dispatchMessage(Handler.Java:98)
 at Android.os.Looper.loop(Looper.Java:164)
 at Android.app.ActivityThread.main(ActivityThread.Java:6541)
 at Java.lang.reflect.Method.invoke(Native Method)
 at com.Android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.Java:240)
 at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:767)
19

乱用を防ぐため、firebaseの電話認証はエミュレーターでは機能しません。

ただし、テスト目的で使用する場合は、エミュレータで動作するfirebaseコンソールでテスト用の電話番号を追加する必要があります。

Firebaseコンソール->認証->サインイン方法->電話に移動し、「テスト用の電話番号(オプション)」フィールドを確認します。

enter image description here

34
Prasanna Anbu

OK、それは文書化されたエラーです。 https://github.com/firebase/FirebaseUI-Android/issues/79 および https://github.com/firebase/FirebaseUI-Android/issues/868

不正使用を防ぐために、エミュレータで電話認証を使用することはできません。

ドキュメントはこちら: https://firebase.google.com/docs/auth/Android/phone-auth#before-you-begin

また、電話番号のサインインには物理デバイスが必要であり、エミュレーターでは機能しません。

[〜#〜] update [〜#〜]Prasanna Anbuの答えを見てください。

FirebaseコンソールでSHA-1を設定する必要があります。

Android Studioツールを使用すると、非常に簡単に実行できます。

  1. 開いた Tools -> Firebase in Android Studio。
  2. AuthenticationRealtimeDatabaseなどの機能のいずれかをクリックします。
  3. クリックしてください Connect to Firebaseそして必要なことを行います。

または

手動で追加します。これをチェックしてください。

SHA-1をAndroid application に追加する方法

5
Ritesh

Android studio:

右パネルからAndroid studioでGradleを選択します

アプリを選択してください

タスク内-> Android-> signingReport

SigningReportをダブルクリックします。

「Gradle Console」でsha1フィンガープリントが見つかります

firebaseコンソールにこのsha1フィンガープリントを追加します

5
TheLastSummer

SHA1キーは、Firebaseコンソールに登録されていません。以下の図に示すようにSHAキーを生成し、SHAキーをAndroid Studio端末からコピーしてFirebaseに追加しますコンソールプロジェクトの設定:

enter image description here

また、リリースキーストアを使用してこのキーを生成していることを確認してください

enter image description here

enter image description here

この後、SHA1指紋を生成します。そうしないと、ユーザーは電話認証でSHA1エラーに直面します。

それが誰かを助けることを願っています。

2
Hitesh Sahu

また、以下の図に示すように、反応ネイティブビルドでも同様の問題に直面していました。以下の手順に従って問題を解決しました。

enter image description here

@ adirzoari によれば、reactネイティブプロジェクトをAndroid studioに開いてから:

  1. プロジェクトを実行します。
  2. Gradleメニューをクリックします。
  3. Gradleタスクツリーを展開します。
  4. Android-> signingReportをダブルクリックすると、結果が表示されます

Android studio 2.2-実行コンソールで結果が利用可能になりますが、強調表示されたトグルボタンを使用します。

0
badarshahzad

このリンクを優先するSHA-1証明書を生成します キーストア証明書のSHA-1フィンガープリント
enter image description here

firebaseコンソールを開いて、このSHA-1キーをここに追加した後。

0
Kishan Donga