読者です 読者をやめる 読者になる 読者になる

チラ裏Unity

主にUnityについての備忘録ですが誰か様の為になれば

UnityでGameCenterに接続

目標

  • 開発用Appで Game Center に接続

 

前提

  • iOS Developer Program に登録している Apple ID を持っていること
  • Unity から iOS 向けにビルドして実機に転送できること

 

開発用Appの登録と Game Center の設定

先ずは接続対象となる開発用Appを iTunes Connect 上に作成する

  1. https://itunesconnect.apple.com にログイン
    iOS Developer Programに登録済みのApple IDでログイン)
  2. 以下のような感じで新規 iOS App を作成
    • 名前 : 適当な値
    • バージョン : 1.0
    • プライマリ言語 : Japanese
    • SKU : 適当なユニーク値
    • バンドルID : 適当なユニーク値(予め Developer Portal で作っておく)
  3. 「Game Center」タブよりシングルゲーム向けに有効化する
    Leaderboardや達成項目が無くとも、Game Center には接続可能

    f:id:hwks:20150514033712p:plain

  4. 「バージョン」タブより Game Center を有効化

    f:id:hwks:20150514034106p:plain

Sandboxテスターの追加と実機設定

  1. iTunes Connect の「ユーザと役割」メニューより「Sandboxテスター」をクリック
  2. 必要な情報を入力して「保存」ボタンを押下
    (メールアドレスは受信できるアドレスを用意する必要がある)
  3. 確認で使うiPhone実機の「設定」 -> 「Game Center」でサンドボックスON
  4. Game Center からログアウトしておく

 

Unityの設定

  1. 「File」メニュー -> 「Build Settings...」
  2. PlatformでiOSを選択して「Switch Platform」ボタンを押下
  3. 「Player Settings...」ボタンを押下し、Inspector上で以下を設定
    • IdentificationのBundle Identifier : App作成時のバンドルID値
    • IdentificationのBundle Identifier : App作成時のバージョン値
  4.  以下のスクリプトを適当なGameObjectにアタッチ
    using UnityEngine;
    using UnityEngine.SocialPlatforms;

    public class SocialPlatformsTest : MonoBehaviour {
        
        void Start() {
            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");
                }
            });
        }
    }

 

実行

  1. iPhone実機とマシンをUSBケーブルで繋ぐ
  2. Unityで「Build and Run」を実行
  3. アプリ起動時に Game Center のログイン画面が表示される