Google Play Game Serviceの使い方

Google Play Game Service APIを利用することでゲーム対戦機能、リーダーボード、アーチーブメント機能を利用できます。
以下にサンプルプログラムを利用する手順を備忘録として書いておきます。

Step1.Google Play Serviceをインストール

まず開発PCにGoogle Play Serviceのライブラリがインストールされていない場合はSDK Managerを使用してインストールします。
f:id:mondayboy:20141130233553p:plain

Step2.lib_projectインポート

1でインストールした{$ANDROID_SDK}/extras/google/google_play_services/lib_project/google-play-services_libをEclipseへインポートします。
f:id:mondayboy:20141221102053p:plain

Step3.サンプルソースを取得

リポジトリよりサンプルソースを取得します。

git clone https://github.com/playgameservices/android-samples.git play_game_services

Step4.GameBaseUtilライブラリプロジェクトインポート

  1. Step3で取得したソースにGameBaseUtilsをインポートします。
    f:id:mondayboy:20141221102107p:plain
  2. プロジェクトの[Properties]-[Android]より、google play service libの参照を追加し、[Is Library]のチェックをオンにします。
    f:id:mondayboy:20141221102106p:plain

Step5.デバッグキーストアの生成

  1. ターミナルから以下のコマンドを実行すると、パスワードの入力を求められるのでパスワードを入力し、debug.keystoreを生成します。*1

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 -dname "CN=Android Debug,O=Android,C=US"

Step6.証明書作成

  1. 作成したデバッグキーストアより証明書*2を作成します。

# keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
キーストアのパスワードを入力してください:
別名: androiddebugkey
作成日: 2014/12/02
エントリタイプ: PrivateKeyEntry
証明連鎖の長さ: 1
証明書[1]:
所有者: CN=Android Debug, O=Android, C=US
発行者: CN=Android Debug, O=Android, C=US
シリアル番号: 547ceee6
有効期間の開始日: Tue Dec 02 07:42:46 JST 2014 終了日: Sat Apr 19 07:42:46 JST 2042
証明書のフィンガープリント:
MD5: F4:DD:E2:C2:24:5F:47:4B:58:E5:60:2D:90:AD:05:A6
SHA1: 2D:A6:C0:8B:EB:B6:32:97:9E:B1:7C:7D:31:C7:7A:6E:D2:AA:73:87
署名アルゴリズム名: SHA1withRSA
バージョン: 3

Step7.Google Play Developer Console設定

  1. コンソール(https://play.google.com/apps/publish/)より、[新しいゲームの追加]を選択します。
    f:id:mondayboy:20141221102054p:plain
  2. ゲーム名を入力し[次へ]を選択します。
    f:id:mondayboy:20141221102103p:plain
  3. 以下の画面が表示されるので、[説明文]を入力し[保存]を選択します。
    f:id:mondayboy:20141221102102p:plain
  4. 以下の画面が表示されるので、[android]を選択します。
    f:id:mondayboy:20141221102101p:plain
  5. 以下の画面が表示されるので、[パッケージ名]を入力し、[保存して次へ]を選択します。
    f:id:mondayboy:20141221102100p:plain
  6. 以下の画面が表示されるので、[今すぐアプリを承認]を選択します。
    f:id:mondayboy:20141221102059p:plain
  7. 以下の画面が表示されるので、[Continue]を選択します。
    f:id:mondayboy:20141221102058p:plain
  8. 以下の画面が表示されるので[SHA1]を入力し、[Create Client]を選択します。(クライアントIDの再作成はhttps://console.developers.google.com/projectより編集することができます)
    f:id:mondayboy:20141221102057p:plain
  9. 以下の画面が表示されるので、アプリIDをメモしておきます。
    f:id:mondayboy:20141221102056p:plain

Step8.サンプルソースインポート

  1. サンプルソースButtonClickerをインポートします。
    f:id:mondayboy:20141221102105p:plain
  2. プロジェクトの[Properties]-[Android]より、goole play service libとBaseGameUtilのライブラリプロジェクトを追加します。
    f:id:mondayboy:20141221102104p:plain
  3. Step7-9でメモしておいたクライアントIDをids.xmlに反映します。
  4. パッケージを作成する際に使用するキーはStep6で作成したデバッグキーを使用します。
  5. サンプルプログラム(ButtonClicker)を端末にインストールすると以下のように使用できます。
    f:id:mondayboy:20141221143839p:plain

*1:表示文字が文字化けする場合は、ターミナルの文字コードをShift-JISに設定します。

*2:SH1のハッシュ値