LoginSignup
2
1

More than 5 years have passed since last update.

【Android】リリース後に「UNREGISTERED_ON_API_CONSOLE」と出力されて「Google サインイン」に失敗した原因(1)(2)

Last updated at Posted at 2017-11-22

リニューアルで実装は単純化されていたのだが・・・

久々に、

The Google Drive API for Android

を実装した。

リニューアルされていて、それ以前よりもずっと単純な実装で実現できて、こりゃ楽勝だわと思っていたのだが、Google Playにリリース後、

Google サインイン

が、以下のログを出力していて、結構、ハマってしまった。

W/Auth: [GetToken] GetToken failed with status code: UNREGISTERED_ON_API_CONSOLE
E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE

何故だ、、、「リリース用の署名」でビルドして開発していたので、開発時とリリース時でAPKの違いはない想定だったのに、Google Playで配信されているアプリでは、「Google サインイン」は必ず失敗していた。

原因(1)「Firebaseと別プロジェクトになっている」ことに気づかなかった

Google Cloud Console

から

The Google Drive API for Android

の利用を登録するのだが、既に組み込み済みのFirebaseと別プロジェクトにしてしまったという凡ミスをこいていた。

google-services.json」をAndroid開発環境に組み込むわけだが、別プロジェクトではもちろん「google-services.json」は個別に違うわけだから、2つのサービスが同時に実現されるわけがなかった(別々の「google-services.json」を環境に2つ組み込むことなんてできないし)。

これは、普通に凡ミス。

(でも、開発時にこの状態でもGoogle Sign-Inがエラーなく動いていることが罠だろ……)。

Firebaseで既に登録済みのプロジェクトに、Google Driveを改めて追加した。

んで、もう一度、「google-services.json」をダウンロードして、ファイルとしてメモ帳で開いてみて、ちゃんとFirebaseとGoogle Driveが同時に記載されていることを確認して、これは解決した。

原因(2)「Google Play App Signingプログラム」を理解できていなかった

最近、「Google Play Console」に「Google Play App Signingプログラム」が追加された。

ざっと仕様を確認して、特に何も考えずにオプトインしていたのだが、この怠惰がいけなかった。

「Google Play App Signingプログラム」に登録すると、Googleはアップロードした証明書(開発環境でビルドしていた署名)を削除して、APKに新しく署名する

・・・うぉい、マジかよ!!!

当然、フィンガープリントが変わるので、開発環境でビルドしていた証明書のフィンガープリントをGoogle Driveの利用に登録していると、実際にGoogle Playで配信されているAPKと一致するわけがないので、「UNREGISTERED_ON_API_CONSOLE」と出力されて「Google サインイン」に絶対に失敗する。

「Google Play Console」の、

→「リリース管理」
 →「アプリの署名」

を確認すると、ここに、

・アプリへの署名証明書
・アップロード証明書

が別々で表示されている!

Google Driveに登録するフィンガープリントは、自分でビルドしていた「アップロード証明書」の方ではなく、Googleが実施する「アプリへの署名証明書」の方を参照しなければならない

事前にちゃんと知っていればなんてことはない、だが、これに気づくまで時間めちゃ取られた。。。

サンプルアプリ

上記の方法で、やっとこ解決して、

The Google Drive API for Android

Google サインイン

を搭載しているので、良ければ、以下のアプリを参考にしてみてほしい(プロジェクト一式や操作動画を確認するよりも、アプリの実動作・見栄えを自らの手で確認した方が多くを得られると信じている)。

ic_launcher.png
シンプルなメモ帳は文字数もカウントする-簡単操作とマテリアルデザインの無料ノート-NOTEBOSS

【動作環境】
Android OS 5.0以上

Made in Japan.
© CUTBOSS
Producer & Director, Boss of the Barber.
Lead Programmer & Designer, Boss of the Barber.

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1