Google Play Game Servicesをとりあえず使ってみる（登録編）


## 概要

先日『[ズンドコキヨシゲーム](https://play.google.com/store/apps/details?id=jp.yamaglo.yge.zundokogame)』というアプリを公開しましたが、こちらのアプリにはGoogle Play Game Servicesを利用して実績やリーダーボードを実装しています。

非常に簡易的な作りですが、そもそもの実装事例をあまり見かけない（気がした）ので、覚書という意味も兼ねて、どう実装していったかを掲載します。

なお、下記のサイトが非常に参考になりました。

- [Google Play Game Services を使ってみた — Mobage Developers Blog](http://developers.mobage.jp/blog/2014/5/19/google-play-game-services)
- [Google Playゲームサービス和訳 [アプリ・開発] | みるくあいらんどっ!](http://www.milk-island.net/document/googleplaygameservice/)

## 登録から公開の流れ

1. Google Play Developer Consoleでゲームサービスの新規作成
2. 利用するアプリのリンク登録（リンク済みアプリへの追加）
3. 必要に応じて実績やリーダーボードなどの作成（今回は実績とリーダーボードのみ）
4. テストで動作検証
5. 実績やリーダーボードをクリアさせて公開

## Google Play Developer Consoleへの登録

### ゲームサービスの登録

![GooglePlayGameService001.png](https://qiita-image-store.s3.amazonaws.com/0/4560/b78c9d80-6acd-6fa6-d8da-e24625e99c1a.png "GooglePlayGameService001.png")

Google Play Game Servicesを利用する場合、アプリとは「別」でゲームサービスを登録する必要があります。

新しいゲームを追加すると以下の入力画面が表示されるため、必要な項目を入力し「次へ」をクリックするとゲームサービスが作成されます。
「ゲームでGoogle APIを既に使用しています」の方は今回使っていないので触れません。

![GooglePlayGameService002.png](https://qiita-image-store.s3.amazonaws.com/0/4560/9c277066-9b7d-46c2-211c-d7a798f8bf7f.png "GooglePlayGameService002.png")

なお、この画面にも書かれていますが、ゲームサービスを作成したタイミングで（多分）Google PlayアカウントのGoogle Developer Console（ややこしい）に、必要なGoogle APIの設定が入った「API Project」という名前のプロジェクトが作成されます。
ここで作成された「API Project」へのリンクは、この後のゲームサービスの概要部分に記載されています（下の画像を参照）。

![GooglePlayGameService003.png](https://qiita-image-store.s3.amazonaws.com/0/4560/7646e46e-aede-ea5e-06ca-4ad1217ef40a.png "GooglePlayGameService003.png")

### リンク済みアプリの登録を行う

ゲームサービスを作成後、このゲームサービスを利用するアプリやWebを登録する必要があります。
今回はAndroidアプリでしかやっていないのでWebなどの話は書きません。

![GooglePlayGameService009.png](https://qiita-image-store.s3.amazonaws.com/0/4560/c09380e8-11e3-e1ea-ed7c-73ad8e304dc5.png "GooglePlayGameService009.png")

「リンク済みアプリ」＞「新しいゲームを追加」から、必要な情報を入力します。

パッケージ名には利用するAndroidアプリのパッケージを入力します。既にapkがアップロードされているものは入力補完してくれますが、していない場合は手打ちする必要があります。

入力補完はこの後の画面でもやってくれるので、個人的にリンクさせるアプリのapkを事前にアップロードしておくことをオススメします。

マルチプレイヤー設定に関しては、今回のゲームでは関係ないので全てオフにしています。

著作権侵害対策は、Google Play以外からのインストールによるアプリからのゲームサービス利用を止めてくれるようですが、特に対策する理由がないのでオフにしています。

入力が完了して「保存して次へ」を選択すると、OAUTHクライアント作成の画面に移動します。

![GooglePlayGameService010.png](https://qiita-image-store.s3.amazonaws.com/0/4560/c60ed60b-0e48-17e6-4ea2-53a20d1e3b15.png "GooglePlayGameService010.png")

こちらはアプリがGoogle Play Game Serviceを利用する際に正当性判断をするための署名証明書の登録を行います。

ここですでにapkを登録している場合、自動的にapkから証明書情報を取得して入力済みの状態にしてくれます。そうでない場合は、頑張ってコマンドラインを叩いて調べる必要があります。

参考：[【Android】Google Maps Android API についての備忘録 - Qiita](http://qiita.com/POCOio_oi/items/e0f30ad5fcfc82fe0f52#3-2 "【Android】Google Maps Android API についての備忘録 - Qiita")

入力が終わって「確認」ボタンを押したところで、リンク済みアプリの登録が完了します。

### 実績、リーダーボードの作成

#### 実績

![GooglePlayGameService004.png](https://qiita-image-store.s3.amazonaws.com/0/4560/e79d67d1-b2d5-024d-c2f2-8c910571d3fb.png "GooglePlayGameService004.png")

実績のポイントは合計で1000以下にする必要があります。実績1つにつき割り当てられるポイントは5〜200、最大で200まで作成することができます（上限は自信なし）。
さらに合計1000以下ということなので、最初から必ずしも合計1000にする必要はなさそうです（試してない）。

![GooglePlayGameService005.png](https://qiita-image-store.s3.amazonaws.com/0/4560/372bcbd1-ffc5-e979-fd6b-b673e3a4378b.png "GooglePlayGameService005.png")

![GooglePlayGameService006.png](https://qiita-image-store.s3.amazonaws.com/0/4560/d2ce3711-83d9-af21-d759-61ecdec0e417.png "GooglePlayGameService006.png")

登録はこんな感じで、基本的なローカライズ設定は通常のアプリ登録と同様です。

今回、増分実績や初期状態は特に設定していないので詳細を知りたい方は別途ドキュメントを参照してください。なお、この2つの設定は公開すると変更できなくなってしまうので注意しましょう。

#### リーダーボード

要はランキングです。ランキングも実績同様複数作ることができます。上限は不明ですが、おそらく無限か、相当数作成できそうな雰囲気です。

![GooglePlayGameService007.png](https://qiita-image-store.s3.amazonaws.com/0/4560/c600c321-0ac3-3d8c-c665-8a4b46918545.png "GooglePlayGameService007.png")

![GooglePlayGameService008.png](https://qiita-image-store.s3.amazonaws.com/0/4560/255ecc99-dc30-618c-cec6-f3be0c65e4c8.png "GooglePlayGameService008.png")

リーダーボードは独自の単位や、基本機能による改ざん対策、昇順降順設定などが可能です。
改ざん対策の強さは、正直ズンドコキヨシゲームのプレイヤー数が片手で数えられる程度なのでわからないというか、おそらく生きていません。

ちなみにこちらも実績同様、一部の項目（南京錠アイコンがあるもの）は公開後に変更ができません。

## テスト公開と公開について
![GooglePlayGameService011.png](https://qiita-image-store.s3.amazonaws.com/0/4560/3a57095b-e143-9235-4f16-21615c02700e.png "GooglePlayGameService011.png")

最低限必要な情報（リンク済みアプリの登録）が入力できていると、右上の「ドラフト」が「テストの準備完了」に変わっています。
この状態になると、テスター登録されているアカウントでのみゲームサービスを利用することができます。
テスターを追加したい場合は、サイドバーの「テスト」から追加することができます。
なお、テスターはアプリのアルファ・ベータテスター同様、G＋の設定ができているアカウントでないと利用できません。

テストを行い、必要な情報の入力が終わったところで右上のボタンの三角部分をクリックして「ゲームを公開する」を選ぶことで、ゲームサービスを正式公開することができます。

ゲームサービスの反映もアプリ同様に即座ではなさそうなので、アプリの公開ボタンクリックと同じタイミングで公開設定をやったほうが良さそうです。

ちなみに途中でも書きましたが、公開前に実績やリーダーボードの初期化を行うことができます。これは当然ゲームサービス公開後は初期化することができないため、忘れずに行っておきましょう。

![GooglePlayGameService012.png](https://qiita-image-store.s3.amazonaws.com/0/4560/2805b70b-23b1-4895-3be1-b17c5eef4ffd.png "GooglePlayGameService012.png")


というわけでざっくりとした登録は以上です。実際にゲームサービスのサインインや実績、リーダーボードのアプリへの実装方法は別記事で記載します。