🔑
【デバッグ用】複数人でFirebase開発を行う場合のフィンガープリント登録手順
はじめに
複数人でFirebaseを利用したAndroidアプリを開発していると、各自のローカル環境ごとにSHA-1フィンガープリントを登録する必要があります。
特にGoogleサインインやメールリンク認証などを利用する場合、フィンガープリントが一致しないと認証エラーが発生してしまうため注意が必要です。
実際にメンバーにFlutterアプリの開発に関わってもらった際にこの問題が生じました。
この記事では、備忘録としてFirebaseにデバッグ用フィンガープリントを追加登録する手順をまとめています。
1. フィンガープリント(SHA-1)の取得方法
1-1. keytoolコマンドを使う方法
下記のコマンドを実行することで、指定したキーストアからフィンガープリント(SHA-1など)を取得できます。
- Windowsの場合
keytool -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
- Macの場合
keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
- %USERPROFILE% の部分は、実行する環境の実際のパスに置き換えてください。
- コマンド実行後、SHA-1 フィンガープリントを確認できます。
1-2. GradleタスクsigningReportを使う方法
Android Studioのターミナル、またはコマンドラインでプロジェクトのルートディレクトリに移動し、以下を実行すると、ビルド設定に応じて自動的にフィンガープリント情報が表示されます。
おそらくこちらの方が簡単です。
./gradlew signingReport
実行結果の中に、Variant: debug や Variant: release ごとに SHA-1 フィンガープリントが出力されます。
開発中はデバッグビルドを利用するケースが多いので、debug の欄を確認してください。
2. Firebaseプロジェクトへの登録
- Firebaseコンソールを開き、対象プロジェクトの 「プロジェクトの設定」 を選択します。
- 「全般」タブで下にスクロールし、「Androidアプリ」 の設定を探します。
- 「SHA証明書フィンガープリント」のセクションにある 「フィンガープリントを追加」 ボタンをクリックします。
- 手順1または2で取得したSHA-1フィンガープリントをペーストして保存します。
3. 注意点
- デバッグ用キーストアとリリース用キーストアは異なるファイルであるため、それぞれのSHA-1を別々に登録する必要があります。
- 複数人で開発している場合、各自のローカル環境ごとにSHA-1フィンガープリントを取得し、登録を行ってください。
- Googleサインインやメールリンク認証など、一部の認証方法では、登録が正しく行われていないと 「This operation is not valid.」 などのエラーになることがあります。
必ず各環境のフィンガープリントが登録されているか確認しましょう。
4.まとめ
チーム開発において、Firebase認証を利用する場合は各開発者のデバッグ用フィンガープリントを全員分登録しておくことが大切です。
特に認証まわりのエラーが発生した際は、まずフィンガープリントが正しく設定されているかをチェックしてみてください。
以上が、Firebaseで複数人開発時に必要なデバッグ用フィンガープリントの登録手順です。
簡単ではありますが、エラーを未然に防ぐために重要な作業なので、ぜひチームメンバーと共有しておきましょう。
参考文献
Discussion