Eclipse project に SDK を組み込む

本チュートリアルで作成するサンプルコードは Native Tutorial Sample Download からダウンロードできます。

 

Mobage Native SDK を用いた開発を始めるには、初めにライブラリ等の SDK ファイル一式を Eclipse にインポートする必要があります。この章では Eclipse での新規プロジェクト作成と Mobage Native SDK のインポートの方法、 Mobage Native SDK を使用する為の設定を行います。
 

Eclipse で新規プロジェクトを作成する

Eclipse を起動すると、上のような画面が表示されます。新しいプロジェクトを作成するために "Package Explorer" 上で右クリックをし "New" -> "Android Application Project" を選択します。


 
"New Android Application - Create a new Android Application" の画面が表示されるので各項目を入力(または選択)してください。
 

 
本チュートリアルでは下記のように入力を行いました。

項目

設定内容

Application Name

MobageExample

Project Name

MobageExample

Package Name

jp.mbga.a${MOBAGE_APPLICATION_ID}

Minimum Required SDK

API 9: Android 2.3 (Gingerbread)

Target SDK

API 17: Android 4.2 (Jelly Bean)

Compile With

AIP 18: Android 4.3 (Jelly Bean)

Theme

None

"${MOBAGE_APPLICATION_ID}" : Mobage のアプリケーションIDに書き換えてください。

 
設定をを行い "Next >" を選択すると "New Android Application - Configure Project" の画面が表示されます。
 

 
本チュートリアルでは

  • Create activity
  • Create Project in Workspace
    にチェックを入れて "Next >" を選択すると "Create Activity" の画面が表示されます。
     

     
    "Blank Activity" を選択して "Next >" を押すと下の画面が表示されます。
     

"Finish" を選択すると Project が作成が完了します。
 

 
以上でプロジェクトの作成が完了しました。

Mobage Native SDK の導入

Mobage Native SDK をプロジェクトに導入します。

 

Mobage Native SDK ライブラリをインポートする

Eclipse 上 で Mobage Native SDK アプリケーション開発を行うために Eclipse の Android Project にて Mobage Native SDK 関連のライブラリを追加します。"Package Explorer" 上で右クリックをし "Import..." を選択してください。
 

 
Import 画面が表示されたら "Android" -> "Existing Android Code Into Workspace" を選択し "Next >" をクリックします。
 

 
"Import Projects" 画面に遷移するので "Browse..." をクリックすると、追加するファイルを選択する画面に遷移しますので Mobage Native SDK の "android/MobageNativeAndroid" を選択して右下の "開く" を押します。
 

 
再び "Import Projects" 画面に遷移するので "Projects:" で先程選択した "MobageNativeAndroid" にチェックが入っている事を確認し "Copy projects into workspace" にチェックを入れて "Finish" を選択してください。
 

 
これで、Mobage Native SDK ライブラリのインポートが完了しました。

android-support-v4.jar が Native SDK 内のものと競合する場合がありますので、その際はゲーム側の android-support-v4.jar を削除して下さい。

 

F.O.X for Mobage について

Mobage Native SDK 1.4.7.4 以降、以下のように F.O.X for Mobage の利用を選択できるようになりました。

  • F.O.X for Mobage を利用する場合は、何もせずに通常のインポート手順で問題ありません。
  • F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X を組み込む場合には、MobageNativeAndroid の代わりに MobageNativeAndroidWithoutFOX をインポートしてください。ライブラリの指定も同様です。
     

    Mobage Native SDK ライブラリのリンクを追加する

    ライブラリのインポートが完了したら、次にライブラリをプロジェクトにリンクします。"MobageExample" を右クリックし "Properties" を選択してください。
     

     
    "Properties for MobageExample" 画面が開きますので左ペインの "Android" を選択します。
     

     
    この時点では "Library" に何も追加されていない状態なので "Library" -> "Add" を選択し、"MobageNativeAndroid" の追加を行います。
     

     

     
    "Library" に "MobageNativeAndroid" が追加された事を確認し、"OK" を押して "Properties for MobageExample" 画面を閉じてください。
     
    まだ、この時点では "MobageNativeAndroid" のライブラリが生成されていませんので "MobageNativeAndroid" プロジェクトを右クリックし "Build Project" を選択してください。
     

     
    以上で Mobage Native SDK ライブラリのインポートが完了しました。

AndroidManifest.xml の編集

Mobage Native SDK の機能をアプリケーションで使用する為に "AndroidManifest.xml" の修正を行います。下記のように AndroidManifest.xml を修正してください。

  • "${MOBAGE_APPLICATION_ID}" : Mobage のアプリケーションIDに書き換えてください。
  • "${ACTIVITY_NAME}" : Activity 名 (FQCN: パッケージ名をつけたクラス名) に書き換えてください。

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

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

 

icon ファイル名の変更

AndroidManifest.xml の

で発生するエラーを解決する為に "res/drawable-xxxx" 以下にある "ic_launcher.png" を "icon.png" にファイル名を変更します。
 
 
以上で Mobage Native SDK の導入が完了しました。

Google Play services Library の導入について

Google Play のポリシーが変更され、2014/08/01 から、Play ストアにアップロードされたすべての更新や新着アプリには、広告目的で使用する端末 ID として Advertising ID(端末で利用可能な場合)を使用する必要があります。

広告の成果のトラッキングのために Android で提供されている Advertising ID (以下、AdID) を利用する必要があります。AdID を使用するためには Google Play Services の 導入は必須です。 Google Play Serviceを導入しない場合、特定Android Versionでリモート通知が正常に動作しない等の不安定な状況になりますので、下記の導入方法に従って必ずGoogle Play Services を導入してください。

また、Mobage SDK 1.4.7.4 より、Android 5.0 (API Level 21) 以降を targetSdkVersion に設定する場合は、Google Play Services の導入が必須になりました。

導入方法

必ず Google Play services がインポートされているか確認する に従い、Google Play services がリンクされているか確認して下さい。正しくインポート設定がされていてもリンクされないことがあります。

Google Play Service のインポートを行ない Proguard を使用する場合

Google Play Service をインポートした場合に Proguard を使用する場合、 proguard.cfg や proguard-android.txt に以下の設定をする必要があります。

Google Play services がインポートされているか確認する

Google Play services ライブラリの中の AdvertisingIdClient というクラスがインポートされているか、必ず以下の方法で確認します。

  • 生成した apk ファイルを apktool 等で開き、/smali/com/google/android/gms/ads/identifier/AdvertisingIdClient.smali が含まれているか確認する。
  • SDK を組み込んだ状態でアプリを起動し、$adb logcat で以下のいずれかのログが出力されないことを確認する。

上記 2 点の方法で 問題あることを確認した場合、以下の方法で解決することがあります。

  • google-play-services_lib プロジェクトのリンクを外して、google-play-services_lib プロジェクトに含まれている libs/google-play-services.jar をリンクする
  • Android SDK Tools や Android SDK Build-Tools のバージョンが古い場合、google-play-services_lib のバージョンを 4 系に下げることでリンクできるようになる可能性があります。
  • Invalid ApplicationInfo or MetaData がエラーログ出力された時には、AndroidManifest に meta-data が記載できていないので、application タグ内に meta-data を追加してください。
  • meta-data の value が google-play-services_lib のバージョンと異なっている可能性があります。AndroidManifest の meta-data の value を確認して下さい。

Mobage SDK を利用し、ProGuard を使用する場合
ProGuard を使用する場合は、proguard-project.txt に以下を追記するようにしてください。

また Mobage Native SDK 1.4.10 以降を使用する場合は、必ず proguard-project.txt に以下の設定も追記するようにしてください。

F.O.X for Mobage を利用し、かつ ProGuard を利用する場合

ProGuard を利用して F.O.X for Mobage を導⼊したアプリケーションを難読化する際に、警告が発生する場合があります。その際には、警告を回避するため以下の設定を追加してください。アノテーションが難読化の過程で削除されないよう、以下の設定がされていない場合には追加してください。

F.O.X SDK のコールバックメソッドが難読化対象とならないよう、以下の設定を追加してください。

更新履歴

  • 2014/08/20
    • Install Referrer を正しく取るために com.mobage.android.TrackingReceiver を AndroidManifest.xml に追加しました。
  • 2014/07/11
    • Google Play Services について追記
  • 2013/12/04
    • 初版作成

PREVIOUS

SDK を導入する (Android)

NEXT

Mobage Platform にログインする