Unity IDE 上でアプリケーションを開発する

このページでは、Unity IDE 上でアプリを開発し、 Xcode プロジェクトをエクスポートするまでの手順について解説します。

  • Mobage Unity SDK のアセットをインポートします。
  • Unity アプリケーションを実装します。
  • 作成したアプリケーションを Xcode プロジェクトとしてエクスポートします。

以下では、Unity のダウンロード・インストール・ライセンス登録まで終えていることを前提とします。

Unity IDE 環境から Mobage Unity SDK をインポートする

Mobage Unity SDK をバージョンアップする場合には、下記にその方法がありますので、そちらをご確認ください

まず、Unity を起動し、新しい Unity Project を作成します。 作成された新しいプロジェクトを開いた状態で、上メニューから 「Assets」→「Import Package」→「Custom Packages…」を選択します。

すると、パスを入力させるダイアログが表示されますので、MobageUnitySDK.unitypackage へのパスを指定します。

Windows の場合、MobageUnitySDK.unitypackage が配置されているパス名にマルチバイト文字が使用されていると、インポートに失敗しますのでご注意下さい。

全てにチェックを入れ、右下の「Import」ボタンを押すとインポートが完了します。

1.4.7.5 以降の場合、インポートが完了すると、以下の様な画面が表示されますので、input your AppId の右側のエディットボックスに Mobage の AppId を入力してください。

この作業を行うと、この後の MBAppId.txt と AndroidManifest.xml への AppId の入力が必要無くなります。

Unity5 に 1.4.7.5 以降のバージョンでバージョンアップした場合、ビルドが正しく通らないことがあります。その際には、1.4.7.5 以降をインポート後、Unity のメニューバーより「Mobage SDK」→「Clean Old SDK」を選択してください。

F.O.X for Mobage について

Mobage Unity SDK 1.4.7 より、今まで libmobage.a スタティックライブラリ内に組み込まれていた F.O.X for Mobage を取り外したバージョンの SDK ライブラリを同梱しています。
F.O.X for Mobage を利用する場合は、上記のインポート手順に従っていただければ問題ありません。
F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X SDK を組み込む場合には、libmobage.a をリンクせず、代わりに ios/SDKWithoutFOX/libmobage-withoutfox.a をリンクします。

  1. Assets/Plugins/iOS/libmobage.a を削除します。
  2. Mobage Unity SDK 1.4.7 以降のパッケージに含まれる ios/SDKWithoutFOX/libmobage-withoutfox.a を Assets/Plugins/iOS へドラッグ&ドロップします。

これで F.O.X for Mobage の取り外しが完了しました。

HelloMobage.unity を開く

パッケージのインポートが完了すると、Project ビューでインポートされた Mobage Unity SDK のファイルを確認することができます。次に、インポートした Mobage Unity SDK のファイルの中から、サンプルアセットを開きます。

Project ビューで Plugins/Mobage/samples/HelloMobageSample.unity (Unity のアイコンのファイル) をダブルクリックするとサンプルアセットが反映されます。Hierarchy ビューに、HelloMobageSample というオブジェクトが追加されます。

MBAppId.txt に AppId を登録する(1.4.6 以降)

Mobage Unity SDK 1.4.6 以降より、Xcode 上で framework 等の特別な設定をしなくとも Xcode 上でビルドを走らせることができるようになりました。ただし、Unity Editor 上で、MBAppId.txt を編集する必要があります。

Editor/MBAppId.txt 内にデフォルトで記載されている ${YourApplicationId} を 120XXXXX のような形に編集して下さい。

MBAppId.txt を編集することで、Info.plist の URL Scheme が自動的に設定されるようになります。

MobageCallback オブジェクトに設定を追加する (1.4.3 未満の場合)

Mobage Unity SDK 1.4.3 以上のバージョンをご利用の場合、本手順は必要ありません

Hierarchy ビューの MobageCallback を選択すると、Inspector ビューに詳細が表示されま
す。下記の手順によって、オブジェクトの設定を追加します。

  • GUIs/MobageGUI をドラッグして、Inspector ビューの 「Mono Behaviour」 (四つあるうちの一番上) にある、「Custom Skin」の右の「Missing (GUISkin)」の場所へドロップします。
  • 同様に、Plugins/HelloMobage.cs (C# のアイコン) を一番上の「Mono Behaviour」の「Scripts」右の「Missing (Mono Script)」の箇所へドラッグ&ドロップします。
  • Plugins/MobageCallback.cs (C# のアイコン) を「Mono Behaviour」の二つ目以降のどれかの「Scripts」右の「Missing (Mono Script)」へドラッグ&ドロップします。
  • BalanceButton についても同様の設定を行います。
    • Plugins/BalanceButton.cs を「MonoBehavior」の「Missing (Mono Script)」へドロップ
    • GUIs/BalanceButton を、上記の BalanceButton.cs を設定した「MonoBehavior」の「Custom Skin」右の「Missing (GUISkin)」へドロップ
ドラッグ&ドロップする前に別の要素をクリックしてしまうと、Inspector ビューが切り替わってしまいます。Hierarchy ビューの MobageCallback を選択する前に、Project ビューで GUIs と Plugins を開いておいてください。

ゲームプレビュー画面でボタン表示を確認する

以上でボタン表示を行うサンプルの設定は終了です。Unity IDE 上部の再生アイコンを押すと、下記のようにゲームプレビュー画面が表示されます。

Mobage Unity SDK では、Unity IDE環境上で Mobage Social API へ接続することが出来ません。API の動作確認は実機にてお願い致します。なお、Mobage Unity SDK 1.2 より、実際に通信することなく、予め用意した API 実行結果テキストファイルを読み込んで値を返す、スタブ版モック実装が組み込まれておりますため、そちらもお試しください。

Unity IDE 上でスクリプトを編集する

Mobage Unity SDK の機能を使用する為にPlugins/Mobage/samples/Config.csに設定してください。

MobageCallback.AddCallback() の呼び出し

Mobage Unity SDK 1.4.7 以降、Awake() メソッドの先頭で、以下のように AddCallback() メソッドを呼び出す必要があります。

下記はAwake()メソッドの例です。

MobagePlatform#initialization() の呼び出し

Awake() メソッド内など、アプリケーション起動直後に下記のような初期化メソッドを呼び出します。

MBGPlatform#Initialize の引数には region, serverMode, consumerKey, consumerSecret, appId を指定します。

consumerKey, consumerSecret, appId は Mobage Developers 上でアプリケーションを登録していただくと発行されます。Mobage Developers 上の「Android アプリ設定」の中の「SDK 向け Consumer Key」「SDK 向け Consumer Secret」を入力してください。

 

 

ログインリスナーの登録

ログイン状態通知イベントを受け取る為に、以下のようにログインリスナーを登録してください。

 API 使用例:C# コードでユーザ情報を取得する

MobagePeople#getCurrentUser() を呼ぶメソッドは、Unity 上では下記のように記述できます。

API Reference

Example

 

 

Unity IDE 上でビルドを行う

Unity IDE の上メニューで「File」→「Build Settings」を選択すると Build Settings ウィンドウが立ち上がります。

左下の「Platform」から iOS を選択します。

  1. 「Switch Platform」ボタンを押すと、プログレスバーが表示された後に iOS 用の設定が反映されます。
  2. 「Player Settings...」を選択し、下記のように「Bundle Identifier」の設定を必ず行なってください。
  3. 「Build」ボタンを押して Xcode の Project を作成します。作成が完了されると Finder で作成された Project が保存されている場所が表示されます。そこから xxxx.xcodeproj を選択し Xcode で Project を開いて「Product」→「Run」で実行することができます。

Bundle Identifier の設定

「Other Settings」→「Identification」→「Bundle Identifier」をデフォルトの値から変更してください。

Bundle Identifier を変更しないと、ビルドに必ず失敗します。

「Other Settings」-> 「Stripping Level」は「Disabled」のままにして下さい。SDK の動作が不安定になります。「Disabled」以外を使用される場合には、「Assets」以下のフォルダに link.xml を追加してください。

また、「IL2CPP」を利用されたい場合にも同様に link.xml の追加が必要になります。

link.xml の内容は以下になります。

link.xml

link.xml に独自の設定もしたい場合には、上記設定も追加するようにしてください。

iOS 64 bit 対応について

Mobage Unity SDK 1.4.7.4 より、iOS 64bit (arm64) ビルドに対応しています。64 bit に対応させる場合には、Scripting Backend に「IL2CPP」、Architecture に「Universal」を設定してください。

Mobage Unity SDK 1.3.1 以降をお使いの場合

Mobage Unity SDK 1.3.1 ではarmv6 と iOS 4.3 未満には対応していませんので、以下を設定する必要があります。

  • 「Other Settings」→「Configuration」→「Target Platform」にarmv7 を選択して下さい。
  • 「Other Settings」→「Optimization」→「Target iOS Version」に4.3 以降を選択して下さい。

更新履歴 

  • 2017/03/09
    • IL2CPP 利用の際に link.xml を配置する必要があることを追記。
  • 2014/09/30
    • Unity IDE 上でビルド手順追記
  • 2014/08/26
    • Mobage Unity SDK 1.4.7 リリースに伴い、MobageCallback.AddCallback() メソッドの呼び出し追加
      Stripping Level に Disabled 以外を設定する時の方法を追記
  • 2013/12/24
    • 1.4.6 以降、Editor/MBAppId.txt の編集が必要になったため追記。
  • 2013/08/06
    • 1.4.3 以降の場合、MobageCallback の設定は必要ありませんので、そのように記載しました。
  • 2012/11/13
    • SDK 1.3.1 以降を使用する場合の設定を追記。
  • 2012/08/08
    • 初版作成
PREVIOUS

ファイル構成

NEXT

Xcode7 でビルドする方法