BLOG

ブログ

2024/10/28 技術系

AndroidアプリでGoogleサインインが実行できないときに行った対処法

この記事を書いた人 K.K

Android Studioで既存アプリ改修中にビルドした際、ログインできない事象が発生しました。ログを見てみると下記のようなエラーが出ていることが判明しました。

com.google.android.gms.common.api.ApiException: 10

調べてみると、改修中のアプリはFirebase Authを使ったGoogleサインイン機能が使用されており、上記エラーはアプリケーションの設定が間違っている時に出るみたいです。(参画したばかりのプロジェクトで、この時初めてビルドしたので気が付きませんでした…)

環境

  • MacBook Air (13-inch, M2,2022)
  • macOS Sonoma 14.2
  • Android Studio 17.0.9
  • Kotlin 1.9.24

原因

このエラーについて、原因は『SHA-1 証明書フィンガープリントの不一致』、『Google API Console の設定不備』等で起きるようです。Firebaseの管理画面で確認したところ、アプリのフィンガープリントが入っておりませんでした。今回は、SHA-1フィンガープリントの設定が不足していたことが原因でエラーが発生していたようです。

解決方法

Firebase Authでは、アプリ用の OAuth2 クライアントと API キーを作成できるように署名証明書の SHA-1 を提供する必要があります。つまり、SHA-1フィンガープリントを取得し、Firebaseへ追加することでAndroidでGoogleサインインが使えるようになります。

1. SHA-1フィンガープリントの取得
SHA-1フィンガープリントを取得するには、以下のコマンドを使用します。

keytool -list -v -keystore <path-to-your-keystore-file> -alias <your-alias> 

このコマンドは、 <path-to-your-keystore-file>にキーストアのパスを指定し、<your-alias>にキーストアのエイリアスを指定します。通常、デバッグ用のキーは ~/.android/debug.keystore にあります。
2. SHA-1フィンガープリントの設定
取得したSHA-1フィンガープリントをFirebaseコンソールのプロジェクト設定に追加します。Firebaseコンソールで、プロジェクトの設定ページに移動し、アプリに対応するSHA-1フィンガープリントを入力します。
3. アプリの再ビルド
すべての設定が完了したら、Android Studioでアプリをクリーンビルドして再実行します。これにより、設定が反映され、ApiException 10 エラーが解消されました。

まとめ

ApiException 10 エラーは、Googleサインインの設定が正しくない場合に発生します。私は以上のようにSHA-1フィンガープリントの設定と、Firebaseの認証設定を確認することでこの問題を解決できました。ご参考になりましたら幸いです。



株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!

アーカイブ