FlutterのプロジェクトをAndroidアプリとして動かして、Googleログイン機能を使う場合、フィンガープリント(SHA-1)を取得する必要がありますが、その際にいくつかのトラップがあるので注意が必要です。
(なぞのPlatformExceptionが出ることがあります)
もくじ
SHAはデバッグするPC単位でFirebaseのコンソールに設定が必要
フィンガープリントである「SHA(SHA-1・SHA-2)」は、デバッグするPC単位で値が決まるので、同じプロジェクトでもデバッグするPCを変える場合は、PCごとにAndroid StudioからSHA-1を取得して、Firebaseコンソールへの設定が必要となります。
(Android Studioでフィンガープリント(SHA-1・SHA-2)を取得する方法はこちらから)
「SHA-1」でうまくいかない場合は「SHA-256」を設定するとうまくいく場合あり
Googleの公式ドキュメントには「SHA-1」を取得するチュートリアルになっていますが、「SHA-1」だとうまくいかない場合がありますようで、その場合はより安全な(セキュアな)「SHA-256(SHA-2)」を設定してやるとうまくいくことがあるようです。
リリースアプリの場合はGoogle Play Console内のSHAを設定
あとは、「Google Play」を経由してAndroidアプリとしてリリースする場合は、Android Studioで取得した「SHA-1」「SHA-256」ではなく、「Google Play Console」で設定されているものをFirebaseのコンソールに追加する必要があります。
Googleログインしようとすると「PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)」というエラーが出る場合
こちらをご参照下さい
(詳しくは、以下の動画で解説していますので、よろしければご覧ください)