セットアップ (1.4.3 以降)

このページでは、Mobage Native SDK (Android 版) のセットアップ方法について解説します。

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

Mobage Native SDK 1.4.3 以降より、Mobage Native SDK のインポート方法が変更になりました。ただし、1.4.3 未満のインポート方法も使用することは可能です。

Eclipse 上 で Mobage Native SDK アプリケーション開発を行うためには、Eclipse の Android Project にて Mobage Native SDK 関連のライブラリを追加する必要があります。Mobage Native SDK パッケージをダウンロード、解凍した後は下記のステップを踏んでください。
(1) MobageNativeAndroidをEclipseにインポートします。
(1-1) File > Import > Existing Projects into Workspace を選択し、MobageNativeAndroid を指定、インポートします。
(2) ゲームプロジェクトが MobageNativeAndroid を参照するよう設定します。
(2-1) 参照元プロジェクト を右クリック後、Properties でプロパティを開き、Android > Library (右下) で Add ボタンをクリックし、MobageNativeAndroid を選択して OK をクリックします。

※Android SDK r16以前を使用されている場合には、上記に加えて以下も実行してください。
(3) MobageNativeSdk.jar へパスを通します。
(3-1) 参照元プロジェクト を右クリック後、Properties でプロパティを開き、Java Build Path > Libraries で Add JARs を選択します。
(3-2) MobageNativeAndroid/libs/MobageNativeSdk.jar を選択し、参照ライブラリに追加します。

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

AndroidManifest.xml を設定する

Mobage Native SDK を用いた開発では、Android 端末が元から持っている様々なネイティブ機能を利用、あるいは制限するために、AndroidManifest.xml の中に下記のような設定のための記述を含める必要があります。

  • インターネットへアクセスするため、インターネットアクセス許可が必要です。
  • 画面の向き変更に対応していないため、Activity に対して画面の向きを固定します。
  • Main の Activity については standard モードおよび singleTop モードで起動するように設定します。
  • シングルサインオン用に SDK の内部に Activity を保持しているため、この Activity を外部から呼び出せるように設定します。
  • ダッシュボード Activity の設定が必要です。
  • application タグの android:icon="@drawable/icon" については変更しないようにお願いします。(デベロッパーサイトに設定した icon ファイルに差し替わります)
    SDK 1.4.3 以降より MobageDashBoardActivity の設定が必要です。
上記と他の必要な設定を全て記述すると、AndroidManifest.xml は下記のようになります。
Mobage Native SDK 1.4.5 以降より、minSdkVersion は 10 に変更されています。
Mobage Native SDK 1.4.5 より、MobageDashboardActivity の screenOrientation に landscape を指定することができるようになりました。landscape に設定することで Mobage の UI が横画面で開くようになります。

下記の箇所は、お使いの環境に合わせて書き換えてください。
${YourActivityName}:
  Activity 名 (FQCN: パッケージ名をつけたクラス名) に書き換えてください。

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

Android Market In-app Billing の設定をする

In-App Billing (以下、IAB) は、アプリ内でデジタルコンテンツを販売することを可能にする Google Play(旧Android Market) のサービスです。(Mobage Native SDK はバージョン 1.2 から Google Play In-App Billing 対応となりました。)

IAB 対応のため Proguard を内部で使用します。それに伴い、既存の非公開 API が削除されております。また、アプリケーションを一般公開する際に多マーケットに対応するため、デベロッパーサイトへアップロードされたアプリケーションからパッケージ名を変更致します。

IAB 機能を利用する為には、下記のステップを踏んで下さい。

[1. FQCN でのクラス名の指定]

下記のクラスの参照の際は FQCN (完全修飾名、パッケージ名をつけたクラス名) で記述してください。

  • AndroidManifest.xml に記述するクラス
  • R クラス (R クラスを参照する全てのプログラムコード中)

[2. リソースファイル名の制限]

下記のアイコンファイル名は SDK が予約しています。予約された名前からファイル名を変更しないでください。

  • /res/drawable/icon.png
  • /res/drawable-hdpi/icon.png
  • /res/drawable-ldpi/icon.png
  • /res/drawable-mdpi/icon.png

[3. マーケット情報設定ファイル名の予約]

下記のマーケット情報設定ファイルは、SDK が予約しています。予約されたファイル名と同じ名前のファイルを作成しないでください。

  • /assets/billing_config.xml

[4. Intent 起動について]

広告サービス等で、Intent 起動が必要な場合に、com.mobage.android.activity.MobageProxyActivity に設定された Intent Filter は使用しないでください。

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/07/11
    • Google Play Services のインポートが必須になったので、追記しました。
  • 2013/09/20
    • AndroidManifest の例を adjustPan から adjustResize に変更しました。
  • 2013/09/10
    • minimumSdkVersion の値を変更しました。(SDK 1.4.4 以降)
  • 2013/05/20
    • 新規作成

PREVIOUS

セットアップ (1.4 以降 1.4.3 未満)

NEXT

セットアップ Eclipse (1.4.7 以降)