ゲームサービスとはGoogleが提供しているサービスで、実績やリーダーボード(いわゆるランキング)、クラウド上へのゲームデータのセーブ、リアルタイムマルチプレイ(Androidのみ)といった、ゲームにつかいたい便利なサービスです。以前からAppleがGame Centerという同じようなサービスを提供していますが、GoogleのゲームサービスはAndroidだけでなく、iOSでも使うことができるのです。
で、やり方は他のいろんなサイトで紹介しているので、ここでは実装するうえでひっかかったことを紹介します。
プラグインを導入したらビルドエラーになった
https://github.com/playgameservices/play-games-plugin-for-unityでダウンロードしたファイルをUnityにインストールするまでは問題なくいきました。
Unityのシミュレータ上も実行できました(ただしゲームサービスは実機のみ。Unity上では作動しない)。ところが、Android端末用にビルドしようとするとビルドエラーになりました。
原因は「Google Plays Games SDK」をインストールしていなかったから。
Unityにゲームサービスのプラグインをインストールすると、メニューバーに「Google Play Games」というのが出てくるのでそこから必要なSDKをダウンロードしましょう(Android Managerが起動するのでチェックされているやつをインストール)。
apkパッケージにはkeystoreを入れる
UnityのビルドセッティングからAndroidのPublishSettingタブを選べば、Keystoreの作成、設定ができます。このKeystoreという証明書を作って設定したapkじゃないと、アプリを起動したあとにログインしようとしてもエラーがでます。
ちなみに下記てきなメッセージがダイアログででます。
check that the package name and signing certificate match the client ID created in developer console. also, if the application is not yet published, check that the account you are trying to sign in with is listed as a tester account. see log for more information.
とまあ悪戦苦闘した結果、なんとかUnityでゲームサービスが使えるようになりました。次はiOSでゲームサービスを利用したいと思います。