セットアップ Android Studio (1.4.7 以降)

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

 

Mobage Native SDK ライブラリをインポートする(Android Studio 版)

Android Studio のメニューバーから [File] -> [Project Structures...] を選択します。

Project Structure ダイアログが開きますので、左上の「+」ボタンをクリックします。

Create New Module ダイアログが開きますので、画面下部にある More Modules の「Import Existing Project」を選択し、[Next] ボタンをクリックします。

Source directory を選択します。右側の [...] ボタンをクリックします。

クリックすると、Source directory 選択画面が表示されますので、[MobageNativeAndroid] プロジェクトを選択し、[OK] ボタンをクリックします。(Mobage Native SDK の Android ライブラリプロジェクトのディレクトリです)

Mobage Native SDK のディレクトリが Source directory ボックスに入りますので、そのまま [Next] ボタンをクリックします。

以下のような画面が表示されますが、そのまま [Finish] ボタンをクリックします。

Project Structure ダイアログに表示が戻ります。Modules に mobageNativeAndroid が追加されるはずですが、もし以下のように追加されていない場合は、一度 \[OK] ボタンをクリックして、再度 Project Structure ダイアログを表示させてみてください。

以下のように mobageNativeAndroid が表示された状態で、① 既存プロジェクトの Module 名(この場合 app)を選択し、②上部の [Dependencies] タブをクリック、③ 左下の [+] ボタンをクリックします。

以下のような選択メニューが表示されますので、[3 Module dependency] をクリックします。

[Choose Module] ダイアログが表示されますので、[:mobageNativeAndroid] を選択し、[OK] ボタンをクリックします。(Module が出てこない時は Android Studio を再起動してみてください)

 

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

AndroidManifest.xml を設定する

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

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

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

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

Mobage Native SDK 1.4.7 より com.mobage.android.TrackingReceiver を必ず追加しなければならなくなりました。
もし Install Referrer を他の Receiver に転送したい場合は、以下のように記載して下さい。

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

 

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 をインポートしてください。ライブラリの指定も同様です。

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

In-App Billing (以下、IAB) は、アプリ内でデジタルコンテンツを販売することを可能にする Google Play(旧Android Market) のサービスです。
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 の導入が必須になりました。

導入方法

Mobage Native SDK を使用するためには、Google Play services ライブラリをインストールする必要があります。赤枠の「SDK Manager」ボタンをクリックしてください。

「Android SDK Manager」が起動しますので、下の方の Extras 内にある「Android Support Library」と「Google Play services」にチェックを入れて「Install Packages」ボタンをクリックします。この 2 つ以外のライブラリはインストールする必要はありません。

インストールが完了したら Project ではなく Module の build.gradle ファイルの dependencies に 以下を追記します。

変更すると以下の様な画面になりますので、確認してください。

 

Google Play services version 6.5 以降より、Google Play services の機能を個別にインポートすることができるようになりました。

http://android-developers.blogspot.jp/2014/12/google-play-services-and-dex-method.html

Mobage Native SDK を利用するためには、下記パッケージのインポートが必要です。

  • Google Play services version 6.5 以降 7.0 未満の場合、
    • compile 'com.google.android.gms:play-services-base:6.5.87'
  • Google Play services version 7.0.0 以降の場合、
    • compile 'com.google.android.gms:play-services-ads:7.0.0
    • compile 'com.google.android.gms:play-services-gcm:7.0.0'

 

必ず 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
    • Mobage Native SDK 1.4.7 リリースに伴い、新規作成

PREVIOUS

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

NEXT

アプリケーションを開発する