Google Sign-In for Androidを試してみる
Android向けのGoogle Sign-In for Androidを試してみた。
Android端末に登録しているGoogleアカウントで、
Googleに自動ログインを行えるというもの。
以下をやってみただけなので、英語がわかれば以下のサイトを見るのが早いかも。
Try Sign-In for Android | Google Sign-In for Android | Google Developers
①サンプルプロジェクトを取得する
ターミナルを開いてgitでプロジェクトを取得する。
$ git clone https://github.com/googlesamples/google-services.git
Android Studioを開いて、取得したプロジェクトを開く。
上記のgoogle-services.gitは、Google Servicesの全てのサンプルが含まれているため、
google-services/android/signinを開くこと
②設定ファイルを取得する
取得したサンプルプログラムはそのままでは使用できないそう。
google-services.jsonが必要らしい。
上記リンクより、google-services.jsonを生成するようだ。
Add Google Services | Google Developers
順番に説明する。
App nameとAndroid package nameを入力して、
OCNTINUE TO Choose and configure servicesボタンを押す。
App nameとAndroid package nameはとりあえずデフォルトで作成する。
Google Sign-Inを選択する。
すると、下部に証明書のフィンガープリントを入力する項目が現れる。
keytoolを使用して証明書を作成する。
ターミナルを開いて以下のコマンドを実行する。
keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
(パスワードはandroid)
上記はデバッグ用のkeystoreファイルからフィンガープリントを取得したが、
実際にアプリに組み込む際には、署名を行うkeystoreから取得する。
上記のコマンドで取得したSHA1のフィンガープリントを画面に入力すると、
ENABLE GOOGLE SIN-INボタンが押せるようになるので押す。
更にその下の
CONTINUE TO Generate configuration filesボタンを押す。
④サーバのWeb Client IDを作成する
サンプルのIdTokenActivityとServerAuthCodeActivityはOAuth 2.0 Web Client IDが必要。
Client IDを作成するには以下のようにする。
Credentialページにアクセスする
Google API Console
作成したプロジェクトを選択して続行ボタンを押す。
Android client for....のところのクライアントIDをコピーする。
サンプルプロジェクトのstring.xmlファイルの
<string name="server_client_id">YOUR_SERVER_CLIENT_ID</string>
の部分にコピーしたクライアントIDを設定する。
これで準備完了。
あとはアプリを起動して動作確認!