ひさびさにUnityでAndroidアプリを作ってみました!
拙作、初の横スクロールアクション「あざらしロジック」!(GooglePlay)
その際にいろいろやったので、忘れないための備忘録φ(..)メモメモ
「あざらしロジック」で、Google Play Game Serviceを使ったので、その時の話
Google Play Game Service(GPGS)とは
「Google Play ゲーム サービスの機能 - Google Play デベロッパー ヘルプ」によると、以下の感じ。
Google Play ゲーム サービスの機能
Google Play ゲーム サービスを使うと、楽しいソーシャル機能やマルチプレーヤー機能をゲームに追加することができます。
Google Play ゲーム サービスの実装に関する基本事項の解説やドキュメントをご覧いただくには、下記の機能を選択してください。
ランキング(リーダーボード)やGoogleアカウントでのSignin(ログイン)など、ゲームで使う機能を提供しているサービス。
今回は、Signin(ログイン)の部分だけ、利用した。
(リーダーボードも使おうとしたけど、1アカウントにつき1つのスコアしか表示されないので、mBaaSを使うことに)
Google Play Developer Consoleでの準備
ほぼ、この記事のとおりやっただけ。わかりやすくまとまってて、助かりました!
開発中の場合、証明書のフィンガープリントが必要
開発中のアプリで利用する場合は、証明書のフィンガープリント(SHA1)を自分で取得する必要があるので注意。
デバッグ用のkeystoreはC:/Users/<アカウント名>/.android/debug.keystore
にあるので、
「keytool.exe」を使って確認。
keytool -list -keystore C:/Users/<アカウント名>/.android/debug.keystore -v -storepass android
Unityプラグインのインストール/セットアップ
UnityからGPGSを利用するためのプラグインがGitHubに公開されているので、そこから入手
GitHub - playgameservices/play-games-plugin-for-unity: Google Play Games plugin for Unity
zipをダウンロードして、
zipを展開すると、current-buildにある「GooglePlayGamesPlugin-x.x.x.unitypackage」をインポート。
※ AdMobやAppLovinなどを使っている場合、AndroidMainfestやsupport-lib.jarが競合しないように!!
※ 競合すると、メニューが表示されず、セットアップに進めない。。。
Unityプラグインのセットアップ
メニューの「Window > Google Play Games > Setup > Android setup…」から設定。
Developer Consoleで追加した、実績/リーダボードの画面からリソースを取得できるので、
それを貼り付けて、「Setup」ボタンを押せば、OK
GPGSを使う(Signin/Signout)
使い方は以下の感じ。
using UnityEngine; using UnityEngine.UI; using GooglePlayGames; using GooglePlayGames.BasicApi; using System; public class GPGSManager : MonoBehaviour { public Text textBtnSign; // Use this for initialization void Start() { if(!IsLogined()) { // クライアントの設定 PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); } } // Sign-in public void SignIn(Action<bool> callback) { Social.localUser.Authenticate((bool success) => { callback(success); }); } // Sign-out public void SingOut() { PlayGamesPlatform.Instance.SignOut(); } // Login状態の確認 public bool IsLogined() { return Social.localUser.authenticated; } }
他の使い方も、GitHubのREADME.mdに詳しく書いてあるので、
迷うことは少ないかも。(英語だけど、英語だけど)
以上!!
参考にしたサイト様
- Google Play Game Servicesをとりあえず使ってみる(登録編) - Qiita
- Google Play Game Servicesをとりあえず使ってみる(実装編) - Qiita
- Unity GooglePlayGameServicesとGameCenterを利用する - yasuakiのめげないゲーム開発
- GitHub - playgameservices/play-games-plugin-for-unity: Google Play Games plugin for Unity
- naochang | GameCenter(Social)
- 【Unity】Google Play Games plugin for Unityの導入と利用 - ベンガル花火