2013 年 5 月 1 日

アンドロイドアプリからGoogle+にログインしてみる(前編)

アンドロイドアプリからGoogle+にログインしてみる(前編)

グーメン。

ログインが必要なアンドロイドアプリは、ソーシャルログイン機能を持っているものが多いです。
利用者にとっては、新たにパスワードを覚えなくていいので便利な機能ですが、アプリ開発者にとっては、新たにログイン方法が増えるので手間が掛かります。

逆にソーシャルログインのみで自前のログインをなくすことができたら、楽なのになと思うことがあります。
ほとんどのアプリがTwitter,Facebookでログインできるようになっていますが、最近はこれに加えてGoogle+でのログインも可能になってきました。
そこで、アンドロイドアプリでGoogle+でログインする方法をまとめてみました。

参考URL

  1. Getting Started with the Google+ Platform for Android
  2. Google+ Sign-in for Android

動作・開発環境

動作環境として、Java1.6、Android 2.2以上で、Google Play Serviceがインストールされている必要があります。
Google Playがインストールされているデバイスなら、まず大丈夫です。ちょっと古いタブレットでGoogle+を試そうとして、困ったことがありました。

開発環境としては、Google Play Services Libraryが必要ですので、EclipseのSDKマネジャーなどから、Extra > Goolge APIsをダウンロードしておきます。

Google+ APIを有効化

Google+ APIを利用するには、Googleアカウントが必要です。このアカウントは通常使っているGoogleアカウントとは別にアプリ用のアカウントを取得する方がよいと思います。

アカウントにログインしたら、Google APIs Consoleのサービスタブで、Google+ APIを有効にします。以下の画面のGoogle+ APIをONにします。

OAuth 2.0 Client IDを作成

次にAPI Accessタブで、OAuth 2.0 client IDを作成します。
この画面のCreate an OAuth 2.0 client ID…をクリックします。

次にアプリの情報を入力します。Product nameは必須入力で、Product logoとHome Page URLは任意です。
Product nameはアプリの名前でよいでしょう。

そして、Nextボタンをクリックします。

ここでは、Application typeはInstalled applicationを指定し、Installed appliation typeはAndroidを指定します。
Package nameはアプリのパッケージ名を入力します(今回はnet.paads.android.google_plusとします)。


次にSigning certificate fingerprint(SHA1)を入力します。
これはkeytoolコマンドで作成できます。keytoolはJDKに含まれていると思いますので、パスを確認してください。

keytool -exportcert -alias androiddebugkey -keystore <path-to-debug-or-production-keystore> -list -v

<path-to-debug-or-production-keystore>の部分は、Windows/Eclipseなら、ユーザーディレクトリ下(C:\Users\hoge\.android)の.android/.debug.keystoreのパスを指定します。これはデバッグ時のもので、アプリを配布するときは正式なキーストアを利用します。

このコマンドを実行するとパスワードを聞いてきますので、androidと入力します(このキーストアのデフォルトパスワード)。

成功すると、SHA1のフィンガープリントが出力されます(他にMD5,SHA256なども出力されます)。
このSHA1フィンガープリントをさきほどの画面に入力します。

SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

Deepリンクはログインのみなら有効にする必要はないと思います。

Create Client IDをクリックすると、次のような画面が表示されます。これで完了です。

次回はサンプルコードを使ってGoogle+にログインしてみます。