UnityでGooglePlayGameServicesに接続
目標
- 開発用アプリで Google Play Game Services に接続
前提
- Google Play Developer Console にログイン可能なアカウントを持っていること
- Unity から Android 向けにビルドして実機に転送できること
ゲームサービスを追加
- Google Play Developer Console にログイン
- 画面左の「ゲームサービス」タブをクリックし、「Google Play ゲーム サービスをセットアップ」ボタンを押下
- ゲームの名前を適当に入力、ゲームの種類を適当に選択して「次へ」ボタンを押下
- 画面左の「リンク済み」タブをクリックし、「Android」ボタンを押下
- パッケージ名を入力して「保存して次へ」ボタンを押下
- 「今すぐアプリを承認」ボタンを押下
- Branding Information ウィンドウの Product logo と Home Page URL は空欄のままで「Continue」ボタンを押下
- (ブラウザで Client ID Settings ウィンドウが開いたままにしてターミナルを開く)
- $ keytool -keystore ~/.android/debug.keystore -list -v
- 対話型で聞かれるパスワードはデフォルト値の android を入力
- 表示された証明書のフィンガプリントの SHA1 の値をコピー
- (ブラウザの Client ID Settings ウィンドウに戻る)
- 11. でコピーした SHA1 値をペーストして「Create client」ボタンを押下
- ゲームサービスの「リンク済みアプリ」画面でアプリIDをコピーしておく
- 必要があれば「テスト」画面からテスターを追加する
(テスターとして追加されていないGoogleアカウントからは接続できない)
Google Play Game Services プラグインの導入
- 画面右側の「Download ZIP」ボタンを押下
- zipファイルを展開して、current-build/GooglePlayGamesPlugin-0.9.20.unitypackage をインポートする
Unityの設定
- 「File」メニュー -> 「Build Settings...」
- PlatformでAndroidを選択して「Switch Platform」ボタンを押下
- 「Player Settings...」ボタンを押下し、Inspector上で以下を設定
- IdentificationのBundle Identifier : 先で入力したパッケージ名
- 「Window」メニュー -> 「Google Play Games」->「Setup」-> 「Android setup...」
- Application ID に先でコピーしたアプリIDをペーストして「Setup」ボタンを押下
- 以下のスクリプトを適当な GameObject にアタッチ
using UnityEngine;
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
public class SocialPlatformsTest : MonoBehaviour {
void Start() {
PlayGamesPlatform.Activate ();
Social.localUser.Authenticate((success) => {
if (success) {
Debug.Log("Authentication successful");
Debug.Log(Social.localUser.userName);
Debug.Log(Social.localUser.id);
} else {
Debug.Log("Authentication failed");
}
});
}
}
実行
- Android実機とマシンをUSBケーブルで繋ぐ
- Unityで「Build and Run」を実行
- アプリ起動時に Google Play ゲームアプリのログイン画面が表示される