何が起こったか
FirebaseのAuthenticationを使用し、GoogleログインをFlutterアプリ内で実行しようとしたら下記のエラーが発生しました。
PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)
しかも、debugモードやreleaseモードで実行したアプリでは発生せず、内部テストにアップロードしたアプリでのみ再現しました。
試したこと
debugモードやreleaseモードではログインできるのに、なんで内部テストにアップロードした途端に失敗するんだよと思いつつ、上記のエラー内容を調べるとSHA1のフィンガープリントがfirebaseのコンソールに登録していないのが原因とわかります。
しかし、いくらFirebaseのコンソールを確認してもSHA-1のフィンガープリントは登録されていました。
それもそのはず、debugモードやreleaseモードではログインできるのだから。
原因
原因はFirebaseではなく、PlayConsoleの設定でした。
PlayConsoleの「設定」->「アプリの完全性」にある、SHA-1 証明書のフィンガープリントという欄にFirebaseに設定しているSHA-1と同じ値を登録する必要がありました。(Dynamic Linksを使用している場合はSHA-256の方も登録する必要がある)
登録すると、内部テストにアップロードしたアプリでGoogleログインが成功すると思います。
終わりに
調べてみるとなんてことないですが、PlayConsoleの扱いに慣れていないと初見ではわからないですね。
あと多分Flutter関係ないですね。