Android ガイドライン |

Android SDKのインテグレーションの基本操作

以下に従ってください。

InMobi SDKの最新バージョンはAndroid OS バージョン4.0.3 (APIレベル15)以降をサポートします。

バージョン 6.2.4
サイズ(.APK Inflation) 342 KB
SDKリンク

プロジェクトへの SDK の追加

メソッド 1: jCenter経由で最新のSDKを取得します。

Gradleを使用してAndroidアプリケーションを構築している場合は、jCenterからSDKの最新バージョンを取得できます。

以下の手順に従ってください。

  1. 以下の記述をトップレベルの build.gradleファイルにインクルードします。
    allprojects {
        repositories {
            jcenter()
        }
    }
    			
  2. 以下の行をアプリケーションモジュールのbuild.gradle内の依存エレメントに追加します。
    compile 'com.inmobi.monetization:inmobi-ads:6.X.X'
    			
  3. Gradleプロジェクトを同期します。

メソッド 2:アプリケーションプロジェクトへの SDKライブラリの追加

InMobiのSDKの最新バージョンを ここからダウンロードして、そのライブラリをお客様のアプリケーションモジュールのlibs/ ディレクトリにコピーすることができます。

ライブラリをプロジェクトの依存設定に追加するには、以下の行を build.gradleファイルのdependenciesに追加する必要があります。

compile fileTree(dir: 'libs', include: ['*.jar'])
		

依存性の追加および確認

InMobi広告SDKで収益化するには、以下の依存設定を追加する必要があります。

  • Google Play Services

    Android用のInMobi SDKには、Google Play Advertising IDを介して効果的に広告を配信できるようにGoogle Play Servicesライブラリが必要です。また、ユーザーがロケーション情報を収集することに同意した場合に、Google Play Servicesを使用しロケーション情報を取得します。

    Google Play Servicesクライアントライブラリをお客様のアプリケーションに追加するには、以下の手順に従います。

    1. 以下の行をアプリケーションモジュールのdependenciesに追加します。
      compile 'com.google.android.gms:play-services:8.4.0'
      				
    2. Gradleプロジェクトを同期して、依存設定がインクルードされていることを確認します。
    3. マニフェストファイルに以下を追加します。
      <meta-data android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version" />
      				
  • Picasso

    Android向けのInMobi SDKでは、広告アセットをロードするためにPicassoライブラリを使用します。

    アプリケーションにPicassoライブラリを追加するには以下の手順に従います。

    1. Gradle build スクリプト内で以下の行をアプリケーションモジュールのdependenciesに追加します。
      compile 'com.squareup.picasso:picasso:2.5.2'
      				
    2. Gradleプロジェクトを同期して、依存設定がインクルードされていることを確認します。

      注意: Picasso ライブラリが正しく追加されていないと、インタースティシャル広告のリクエストが失敗し、お客様のアプリでの収益化に影響が及びます。

  • サポートライブラリ

    ネイティブストーリーボード広告フォーマットについては、support-v4ライブラリを追加する必要があります。

    Gradle build スクリプト内で以下の行をアプリケーションモジュールのdependenciesに追加します。

    compile 'com.android.support:appcompat-v7:24.0.0'
    			
  • RecyclerView

    画像や広告のデッキのフルスクロールをサポートするには、 RecyclerViewを使用する必要があります。

    これを実行するには、Gradle構築スクリプト内で以下の行をアプリケーションモジュールの依存エレメントに追加します。

    compile 'com.android.support:recyclerview-v7:24.0.0'
    			

    注意: RecyclerView が正しく追加されていないと、インタースティシャル広告のリクエストが失敗し、お客様のアプリでの収益化に影響が及びます。

  • その他

    InMobi SDKを実装することにより、アプリのメソッド数の上限(64K)を超えることもあるかと思います。特に、お客様のアプリがユーザに対し様々な機能を提供するために既に大量のコードを実装している様なケースです。そういった場合はmultidexサポートライブラリを使用してアプリを正しく構築できます。

    以下の手順を実行します。

    1. defaultConfigを修正して、お客様のアプリケーションのmultidexを有効化します。
      defaultConfig {
      applicationId "com.inmobi.samples"
      minSdkVersion 15
      targetSdkVersion 24
      versionCode 1
      versionName "1.0.0"
      multiDexEnabled true // add this to enable multi-dex
      }
      				
    2. 以下の行をアプリケーションモジュールのbuildスクリプト内のdependenciesに追加します。
      compile 'com.android.support:multidex:1.0.1'
      				

マニフェストファイルの変更

パーミッションの追加

以下のパーミッションの追加は必須です。

注意: これらのパーミッションを追加していない場合、InMobiネットワーク上での広告配信が正しく機能せず、お客様のアプリケーションの収益化に影響を及ぼします。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
		

上記のパーミッションに加えて、より効果的に広告が配信されるように ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION のどちらかをインクルードすることを強くお勧めします。必須ではありませんが、これをインクルードすることで広告配信対象の絞り込みの精度が上がります。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
		

広告配信対象の絞り込みを更に強化するために、マニフェストに ACCESS_WIFI_STATECHANGE_WIFI_STATE のパーミッションを追加することができます。

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
		

リッチメディア広告を掲載する場合は、以下のパーミッションを追加します。

<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
		

アプリインストールの計測

強制アクセス許可:

アプリインストールの計測については、以下をマニフェストファイルに追加してください。

<receiver
     android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver"
     android:enabled="true"
     android:exported="true"
     tools:ignore="ExportedReceiver">
          <intent-filter>
              <action android:name="com.inmobi.share.id"/>
          </intent-filter>
 </receiver>
		

ハードウェアアクセラレーション

ハードウェアアクセラレーションを使用すれば、HTML5動画広告を表示できるようになります。これを実行するには、 hardwareAccelerated:trueエレメントを applicationタグに追加します。

Proguardの設定

Proguardは未使用のsymbolを削除したり、最終的なアプリケーションフットプリントを小さくしたりするのに役立ちます。以下をお客様のアプリケーションのProguard設定ファイルに追加する必要があります。

-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{
     public *;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{
     public *;
}
# skip the Picasso library classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.**
# skip Moat classes
-keep class com.moat.** {*;}
-dontwarn com.moat.**
# skip AVID classes
-keep class com.integralads.avid.library.* {*;}
		

Android N向けのアプリの準備

Android用のInMobi SDKは、Androidプラットフォームの最新バージョンであるAndroid N (API level 24)に対応しています。お客様のアプリケーションマニフェストに最小限の変更を行ってAndroid Nでの収益化を開始できます。

お客様のアプリが APIレベル24以上を対象としている場合は、以下のように InMobiAdActivityを宣言します。

<activity
    android:name="com.inmobi.rendering.InMobiAdActivity"
    android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize|screenLayout"
    android:hardwareAccelerated="true"
    android:resizeableActivity="false"
    android:theme="@android:style/Theme.NoTitleBar"
    tools:ignore="UnusedAttribute" />
		

android:resizeableActivity=”false”属性とscreenLayout 用のこのアクティビティの設定が変わることに注意してください。

SDK の初期化

  1. Activityコンテキストとお客様のInMobiアカウントIDを渡すことにより、起動時のアクティビティでSDKを初期化します。
    InMobiSdk.init(MainActivity.this, "Insert InMobi Account ID here");
    			

    以下の図に示すとおりに、管理画面からアカウントIDを見つけます。

    注意: このメソッドはUIスレッド上で呼び出す必要があります。そうしないと初期化に失敗して、お客様のアプリケーションがInMobiで収益化できなくなります。

  2. ロケーションシグナルを渡して、広告配信対象の絞り込みの精度を上げます。

    推奨: お客様のアプリが位置情報を取得している場合、その位置情報を広告リクエストに含めることを主衣装します。位置情報を利用した広告配信はより高額の収益化に繋がります。アプリで位置情報を収集している場合、InMobi SDKが自動的にその情報を広告リクエストに含めます。もしお客様のアプリで位置情報を収集しいても、InMobi に共有し広告に利用したくない様でしたら、管理画面のProperty の設定より、“Location Automation”をOFFにすることによって位置情報をInMobiに共有しない設定が可能です。

    以下のAndroidフレームワークからお客様のアプリケーションが取得した Locationオブジェクトを受け渡しできます。

    InMobiSdk.setLocation(locationObj);
    			

    同様に、以下で市、州、国をの情報を設定することができます。

    InMobiSdk.setLocationWithCityStateCountry("city", "state", "country");
    			
  3. ユーザの属性情報を渡して、広告配信対象の絞り込みの精度をあげます。

    InMobi SDKを介して性別の情報を利用できます 年齢。

      InMobiSdk.setGender(InMobiSdk.Gender.MALE); // or InMobiSdk.Gender.FEMALE
        InMobiSdk.setAge(age); 
        InMobiSdk.setAgeGroup(InMobiSdk.AgeGroup.BELOW_18); 
    // other enums: BETWEEN_18_AND_20, BETWEEN_21_AND_24, BETWEEN_25_AND_34 
    // BETWEEN_35_AND_5, ABOVE_55
    			

これらの広告フォーマットでお客様のAndroidアプリの収益化を始めましょう。