Firebase Flutter

[Flutter]Firebase AuthenticationをAndroidで使用しようとするとAPIException

こんばんは。お元気ですか。

FlutterでFirebase Authenticationを使用したアプリをAndroid向けにビルドしてテストしていたところ、以下のようなAPIExceptionが発生しました。

iOSでは正しく認証できていたので、なんだろうと思っていたのですが、調べてみたらなんのことはなく、Firebase のコンソールで設定が抜けていたことが原因でした。

解決方法

Androidでアプリを実行する前に、Firebaseのコンソールから、デバッグ・本番用のフィンガープリントを登録する必要があります。

フィンガープリント確認方法

デバッグ実行用のフィンガープリント

デバッグ実行用のフィンガープリントを以下のコマンドで確認します。

Macの場合

Windowsの場合

デバッグの場合は、上記コマンドのまま入力すればOK、置換しないといけないところはありません。

なお、debug.keystore のパスワードは android です。

本番実行用のフィンガープリント(1つ目)

本番実行用のフィンガープリントは以下のコマンドで確認します。

your-key-nameは、任意の文字列でご自分のアプリ固有に自分がわかるように名付けた文字列でOK、path-to-production-keystoreは、署名かぎを格納している(格納したい)ファイルを指定します。

上記コマンドで、SHA1 or SHA-256のフィンガープリントが表示されるのでメモしておきます。

Firebaseコンソールに設定

デバッグ用、本番実行用のフィンガープリントを取得できたら、Firebaseコンソールを表示して[設定]に遷移します。

Firebaseのプロジェクトに紐づけられたアプリ名が表示されるので[フィンガープリントを追加]をクリックします。

そうしましたら、以下の画面から、先ほど確認したフィンガープリントをデバッグ実行用、本番実行用と一行ずつ入力して保存します。

 

本番実行用のフィンガープリント(2つ目)

Google Play Consoleの各アプリを選択し、設定→アプリの完全性の画面で表示される、アプリ署名鍵の証明書に表示されているSHA-1証明書のフィンガープリントorSHA-256証明書のフィンガープリンをも合わせてFirebaseのコンソールに設定しておく必要があります。

 

-Firebase, Flutter

© 2021 さかころのアプリ Powered by AFFINGER5