Unity IDE 上で apk ファイルをビルドする (1.4.3 以降)

このページでは、Unity IDE 上で apk ファイルをビルドする方法について解説します。

  • Unity IDE から Mobage Unity SDK 同梱の Unity プロジェクトをインポートします。
    Mobage Unity SDK 1.4.3 未満とは異なり、Eclipse 上での Unity プラグインのビルド、インポート共に必要ありません。
  • apk ファイルをビルドします。
以下では、Unity のダウンロード・インストール・ライセンス登録まで終えていることを前提とします。

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

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

ダイアログが表示されますので、MobageUnitySDK.unitypackage へのパスを指定します。全てにチェックを入れ、右下の「Import」ボタンを押すとインポートが完了します。

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

HelloMobage.unity を開く

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

Project ビューで Plugins/HelloMobage.unity (Unity のアイコンのファイル) をダブルクリックするとサンプルアセットが反映されます。Hierarchy ビューに、MobageCallback というオブジェクトが追加されます。
(下画面では Layout を Wide に指定しています。)


 

MobageCallback オブジェクトに設定を追加する

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 上でスクリプトを編集する

実機での動作確認の際に正常に API 実行結果を取得するためには、Mobage Unity SDK から Unity エンジンへ送るイベントを受け取るイベントリスナーを登録する必要があります。

ログインリスナーの登録

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

MobageUnitySDK.unitypackage 中の HelloMobage.cs では既に実装されていますので、用途に応じて適宜ご変更ください。

 

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

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

HelloMobage.cs では実装例として private void getCurrentUser() を定義しています。

Unity IDE で AndroidManifest.xml を編集する

Project ビューの Plugins/Android/AndroidManifest.xml を編集します。
フォルダ構成は下図のようになります。

AndroidManifest.xml の記述

AndroidManifest.xml は下記のようになります。

SDK 1.4.3 以降より MobageDashBoardActivity の設定が必要です。
Mobage Native SDK 1.4.5 より、MobageDashboardActivity の screenOrientation に landscape を指定することができるようになりました。landscape に設定することで Mobage の UI が横画面で開くようになります。

下記の箇所は、お使いの環境に合わせて書き換えてください。

  • ${YourApplicationId}
    • アプリケーションID に書き換えてください。
      • Ex) 12009999

Mobage Unity SDK 1.4.7 以降、もし Install Referrer を他の Receiver に転送したい場合は、以下のように記載して下さい。

  • meta-data の android:name は forward. で始まるユニークな名前を設定して下さい。
  • android:value は受け取る Receiver 名を FQCN で記載して下さい。
    TrackingReceiver が他の Receiver から Intent を転送してもらうこともできます。たとえば AppBrain と Google の CampaignTrackingReceiver とを併用する場合は、以下のように記述することができます。

MobagePlatform#initialization() の呼び出し

Mobage Unity SDK 1.4.3 以降より、iOS と同様に C# コード内で MobagePlatform.Initialize() を呼び出せるようになりました。

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

Mobage Unity SDK 1.4.7 以降、MobageCallback.AddCallback(true) を Awake メソッドの一番はじめで呼び出す必要があります。

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

既に HelloMobage.cs 内に実装されているため、consumer キーペアや appId をデフォルトのダミー値から変更してください。consumerKey, consumerSecret, appId は Mobage Developers 上からアプリケーションを登録していただくと発行されます。Mobage Developers 上の「iOSアプリ設定」の中の「SDK 向け Consumer Key」「SDK 向け Consumer Secret」を入力してください。

 

apk ファイルをビルドする

編集作業は以上で全て終了です。apk ファイルをビルドする作業に移ります。上メニューより「Build Settings」を選択すると、プラットフォームを選択する画面が表示されます。

プラットフォームの選択

Build Settings ウィンドウの左下の「Platform」から Android を選択し(下図)、その下の「Switch Platform」ボタンを押すと、プログレスバー表示後に Android 用の設定が反映されます。

UnityPlayer の設定変更

また、「Player Settings...」ボタンを押すと、元の Unity IDE ウィンドウの Inspector ビューに UnityPlayer の設定項目が表示されます。各設定項目については Unity 公式のマニュアル等をご確認ください。Mobage Unity SDK で指定すべき必須設定項目は下記となります。

【必須設定項目】Bundle Identifier

「Other Settings」→「Identification」→「Bundle Identifier」をデフォルト値から jp.mbga.a1200XXXX (1200XXXX はアプリ ID)に変更してください。

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

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

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

ビルドの実行

画面右下の「Build」ボタンを押し、ビルドを開始すると、Android SDK のパスを設定するダイアログが表示されますので、Android SDK のパスを入力してください。apk の名前を指定するダイアログが表示されます。apk ファイル名を指定し「Save」ボタンを押すと、ビルドが実行されます。

この apk ファイルが最終的なアプリケーションとなります。実機ですぐに実行確認を行いたい場合は、「Build Settings」ウィンドウ右下の「Build and Run」ボタンを押すと端末上でアプリが実行されます。

【補足】Mobage Unity SDK 1.4.3 未満と同様に Unity プラグインを使うためには

MobagePlatform#initialization() 関連の処理を記載している部分を #if UNITY_IPHONE #endif で囲い、iPhone 以外で実行されないようにします。
 

Plugins/MobageManager.cs の addPlatformListener を以下のように編集します。
MobageaddLoginListener( ); を #if UNITY_IPHONE #endif で囲い、iPhone 以外で実行されないようにします。

 

あとは 1.4.3 未満と同様に、Eclipse で作成した Unity プラグインをインポートします。

更新履歴 

  • 2014/08/26
    • Mobage Unity SDK 1.4.7 リリースに伴い、MobageCallback.AddCallback メソッドを呼び出すように変更
  • 2013/04/26
    • 新規作成

PREVIOUS

Unity IDE 上で apk ファイルをビルドする (1.4.3 未満)

NEXT

Unity IDE 上で apk ファイルをビルドする(1.4.7未満)