Building APK file in Unity
This page is not available in English.
Please select another language.
![]() | このページは最新の Mobage Unity SDK 1.4.7.4 を使用しています。過去のバーションの導入方法につきましては 過去バージョンのドキュメント をご参考ください。 |
![]() | Mobage Unity SDK 1.4.7.4 より、Android 5.0 (API Level 21) を targetSdkVersion に指定する場合、Google Play Services の導入が必須になりました。 |
このページでは、Unity IDE 上で apk ファイルをビルドする方法について解説します。
- Unity IDE から Mobage Unity SDK 同梱の Unity プロジェクトをインポートします。
- apk ファイルをビルドします。
![]() | 以下では、Unity のダウンロード・インストール・ライセンス登録まで終えていることを前提とします。 |
Unity IDE 環境から Mobage Unity SDK をインポートする
まず、Unity を起動し、新しい Unity Project を作成します。作成された新しいプロジェクトを開いた状態で、上メニューから「Assets」→「Import Package」→「Custom Packages…」を選択します。
ダイアログが表示されますので、MobageUnitySDK.unitypackage へのパスを指定します。全てにチェックが入っている事を確認し、右下の「Import」ボタンを押すとインポートが完了します。
![]() | Windows の場合、MobageUnitySDK.unitypackage が配置されているパス名にマルチバイト文字が使用されていると、インポートに失敗しますのでご注意下さい。 |
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」を選択してください。
HelloMobageSample.unity を開く
パッケージのインポートが完了すると、Project ビューでインポートされた Mobage Unity SDK のファイルを確認することができます。次に、インポートした Mobage Unity SDK のファイルの中から、サンプルアセットを開きます。
Project ビューで Plugins/Mobage/samples/HelloMobageSample.unity (Unity のアイコンのファイル) をダブルクリックするとサンプルアセットが反映されます。Hierarchy ビューに、HelloMobageSample というオブジェクトが追加されます。
ゲームプレビュー画面でボタン表示を確認する
以上でボタン表示を行うサンプルの設定は終了です。Unity IDE 上部の再生アイコンを押すと、下記のようにゲームプレビュー画面が表示されます。プレビュー時はHierarchy ビューに、MobageCallback というオブジェクトが表示されます。
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」を入力してください。 |
ログインリスナーの登録
ログイン状態通知イベントを受け取る為に、以下のようにログインリスナーを登録してください。
Unity IDE で AndroidManifest.xml を編集する
Project ビューの Plugins/Android/AndroidManifest.xml を編集します。
フォルダ構成は下図のようになります。
AndroidManifest.xml の記述
AndroidManifest.xml は下記のようになります。
![]() | MobageDashboardActivity の screenOrientation に landscape を指定することで Mobage の UI が横画面で開くようになります。 |
![]() | 2014/05/28 までは、singleTop または standard に設定して頂くようにお願いしていましたが、Unity SDK をお使いの場合には singleTask に設定していただくように変更いたしました。 |
下記の箇所は、お使いの環境に合わせて書き換えてください。
- ${YourApplicationId}
- アプリケーションID に書き換えてください。
- Ex) 12009999
- アプリケーションID に書き換えてください。
F.O.X for Mobage について
Mobage Unity SDK 1.4.7.4 より、F.O.X を取り外すことができるようになりました。1.4.7.4 以降、F.O.X for Mobage を取り外したバージョンの SDK ライブラリを同梱しています。
F.O.X for Mobage を利用する場合は、上記手順から何もする必要はありません。
F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X SDK を組み込む場合には、AppAdForce.jar, MobageNativeSdk.jar をリンクせずに、代わりに /android/SDKWithoutFOX/MobageNativeSdk-withoutfox.jar をリンクします。
- Assets/Plugins/Android/AppAdForce.jar を削除
- Assets/Plugins/Android/MobageNativeSdk.jar を削除
- Mobage Unity SDK 1.4.7.4 以降のパッケージに含まれる /android/SDKWithoutFOX/MobageNativeSdk-withoutfox.jar を Assets/Plugins/Android へドラッグ&ドロップ
これで F.O.X for Mobage の取り外しが完了しました。
About the usage of Advertising ID (Important)
![]() | From Aug 1, 2014 all uploaded applications on Play Store will need to use Advertising ID for advertising purpose due to the policy changes on Google Play. |
The usage of Android’s AdvertisingID (AdID) is required for Ad tracking purpose when using Cross Promotion or our Smartphone R/S plan.
To use the AdID you will need to implement Google Play Services.
How to Import Google Play service SDK
Your application will need to reference the Google Play service SDK to implement the AdID.
See below on how to import Advertising ID into your project.
- Run Android SDK Manager
- Check on「Extras」 > 「Google Play service」 and install the package
Copy "${ANDROID_SDK_PATH}/extras/google/google_play_services/libproject/google-play-services_lib" into your Unity project's Plugins/Android folder
![]() | Make sure you have confirmed that Google Play Game Services is linked to your App by following Confirming Google Play Game Services. |
Using Proguard with Google Play Game Services implemented
You will need to configure proguard.cfg or proguard-android.txt as below, when using proguard with Google Play Game Services.
Confirming Google Play Game Services
Make sure to confirm that AdvertisingIdClient class on Google Play Game Services library is present by following the instructions below.
- Open apk file with apktool and confirm that "/smali/com/google/android/gms/ads/identifier/AdvertisingIdClient.smali" exists.
Startup the application with SDK installed and confirm on logcat ($adb logcat) that you don't see the following errors.
If you find any issues by confirming above, you can solve these by following the next steps.
- Remove "google-play-services_lib" library link from your project and add "libs/google-play-services.jar from" from "google-play-services_lib" to your project.
- If you are using old versions of Android SDK Tools or Android SDK Build-Tools, you can try lower the "google-play-services_lib" to version 4.
- For Invalid ApplicationInfo or MetaData error , please check that you have added "meta-data" tag for goole play game services.
- For IllegalStateException make sure you have correct value on meta-data.
If you see Invalid ApplicationInfo or MetaData error on logcat make sure you have meta-data and google play game services version writing on your AndroidManifest.
Using ProGuard with Mobage SDK implemented
Make sure to add the following to your proguard-project.txt when using ProGuard.
Using ProGuard with F.O.X for Mobage implemented
Add the following ProGuard settings when implementing F.O.X for Mobage.
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」ボタンを押し、ビルドを開始すると apk の名前を指定するダイアログが表示されます。apk ファイル名を指定し「Save」ボタンを押すと、ビルドが実行されます。
この apk ファイルが最終的なアプリケーションとなります。実機ですぐに実行確認を行いたい場合は、「Build Settings」ウィンドウ右下の「Build and Run」ボタンを押すと端末上でアプリが実行されます。
更新履歴
- 2014/09/03
- 1.4.7 リリースとサポートバージョン変更に伴い修正
- 2014/08/26
- Mobage Unity SDK 1.4.7 リリースに伴い、MobageCallback.AddCallback() メソッドの呼び出し追加。
- Stripping Level に Disabled 以外を設定したい場合の方法を追記
- 2014/07/11
- Google Play Services のインポートについて追記
- 2014/05/28
- launchMode を singleTop から singleTask に変更
- 2013/12/26
- 新規作成