以下に従ってください。
InMobi SDKの最新バージョンはAndroid OS バージョン4.0.3 (APIレベル15)以降をサポートします。
バージョン | 8.2.1 | 7.3.0 |
サイズ(.APK Inflation) | 415 KB | 395 KB |
SDKリンク |
|
メソッド 1: jCenter経由で最新のSDKを取得します。
Gradleを使用してAndroidアプリケーションを構築している場合は、jCenterからSDKの最新バージョンを取得できます。
以下の手順に従ってください。
以下の記述をトップレベルの build.gradle
ファイルにインクルードします。
allprojects {
repositories {
jcenter()
}
}
以下の行をアプリケーションモジュールのbuild.gradle
内の依存エレメントに追加します。
implementation 'com.inmobi.monetization:inmobi-ads:8.X.X'
Note: SDK7xxを使用している場合、
implementation 'com.inmobi.monetization:inmobi-ads:7.x.x'
メソッド 2:アプリケーションプロジェクトへの SDKライブラリの追加
InMobiのSDKの最新バージョンを ここからダウンロードして、そのライブラリをお客様のアプリケーションモジュールのlibs/
ディレクトリにコピーすることができます。
ライブラリをプロジェクトの依存設定に追加するには、以下の行を build.gradle
ファイルのdependenciesに追加する必要があります。
For 8.x.x:
implementation fileTree(dir: 'libs', include: ['*.aar'])
For 7.x.x:
implementation fileTree(dir: 'libs', include: ['*.jar'])
InMobi広告SDKで収益化するには、以下の依存設定を追加する必要があります。
Android用のInMobi SDKには、Google Play Advertising IDを介して効果的に広告を配信できるようにGoogle Play Servicesライブラリが必要です。また、ユーザーがロケーション情報を収集することに同意した場合に、Google Play Servicesを使用しロケーション情報を取得します。
Google Play Servicesクライアントライブラリをお客様のアプリケーションに追加するには、以下の手順に従います。
以下の行をアプリケーションモジュールのdependenciesに追加します。
implementation 'com.google.android.gms:play-services-basement:16.1.0'
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
マニフェストファイルに以下を追加します。
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true" />
This is required to redirect the users to URLs outside InMobi WebView:
To add the ChromeCustom library to your application:
Add the following line to the application module's dependency element in the Gradle build script
implementation 'com.android.support:customtabs:28.0.0'
Android向けのInMobi SDKでは、広告アセットをロードするためにPicassoライブラリを使用します。
アプリケーションにPicassoライブラリを追加するには以下の手順に従います。
For SDK versions 811 and onwards, please compile using:
implementation 'com.squareup.picasso:picasso:2.71828'
For the SDK versions below 811, please compile using:
implementation 'com.squareup.picasso:picasso:2.5.2'
注意: Picasso
ライブラリが正しく追加されていないと、インタースティシャル広告のリクエストが失敗し、お客様のアプリでの収益化に影響が及びます。
ネイティブストーリーボード広告フォーマットについては、 support-v4
ライブラリを追加する必要があります。
Gradle build スクリプト内で以下の行をアプリケーションモジュールのdependenciesに追加します。
implementation 'com.android.support:support-v4:28.0.0'
画像や広告のデッキのフルスクロールをサポートするには、 RecyclerView
を使用する必要があります。
これを実行するには、Gradle構築スクリプト内で以下の行をアプリケーションモジュールの依存エレメントに追加します。
implementation 'com.android.support:recyclerview-v7:28.0.0'
注意: RecyclerView
が正しく追加されていないと、インタースティシャル広告のリクエストが失敗し、お客様のアプリでの収益化に影響が及びます。
InMobi SDKを実装することにより、アプリのメソッド数の上限(64K)を超えることもあるかと思います。特に、お客様のアプリがユーザに対し様々な機能を提供するために既に大量のコードを実装している様なケースです。そういった場合はmultidexサポートライブラリを使用してアプリを正しく構築できます。
以下の手順を実行します。
defaultConfig
を修正して、お客様のアプリケーションのmultidexを有効化します。
defaultConfig {
applicationId "com.inmobi.samples"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0.0"
multiDexEnabled true // add this to enable multi-dex
}
以下の行をアプリケーションモジュールのbuildスクリプト内のdependenciesに追加します。
implementation 'com.android.support:multidex:1.0.1'
宣言する InMobiAdActivity
要素は、アプリがAPIレベル24以上をターゲットにしている場合はそうです。
< activity
android:name = "com.inmobi.rendering.InMobiAdActivity"
android:configChanges = "keyboardHidden | orientation | keyboard | smallestScreenSize | screenSize | screenLayout"
android:hardwareAccelerated = "true"
android:resizeableActivity = "false"
android:theme = "@アンドロイド:style / Theme.NoTitleBar"
ツール:ignore = "UnusedAttribute" />
特に、 android:resizeableActivity = "false"
属性を変更し、このアクティビティを screenLayout
変更用に設定します。
許可を与える
アプリケーションマニフェストに次の必須のアクセス許可を含める必要があります。
注:これらの権限を含めないと、InMobiネットワークでアプリケーションを収益化する能力に影響します。
<uses-permission android:name="android.permission.INTERNET">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission></uses-permission>
上記のパーミッションに加えて、より効果的に広告が配信されるように ACCESS_COARSE_LOCATION
かACCESS_FINE_LOCATION
のどちらかをインクルードすることを強くお勧めします。必須ではありませんが、これをインクルードすることで広告配信対象の絞り込みの精度が上がります。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
広告配信対象の絞り込みを更に強化するために、マニフェストに ACCESS_WIFI_STATE
とCHANGE_WIFI_STATE
のパーミッションを追加することができます。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE">
</uses-permission></uses-permission>
ハードウェアアクセラレーション
ハードウェアアクセラレーションを使用すれば、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.** {*;}
InMobi SDKは、Androidプラットフォームの最新バージョンであるAndroid P(APIレベル28)と互換性があります。 Android P以降のアプリケーションは、デフォルトでHTTPS経由で接続します。 InMobiはHTTPSの採用をサポートしていますが、現在の設定では、デマンドパートナーがHTTPSもサポートする必要があります。 サイト運営者は、収益の可能性に影響を与える場合、設定をHTTPに変更できます。
コンテキストとお客様のInMobiアカウントIDを渡すことにより、起動時のアクティビティでSDKを初期化します。
JSONObject consentObject = new JSONObject();
try {
// Provide correct consent value to sdk which is obtained by User
consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
// Provide 0 if GDPR is not applicable and 1 if applicable
consentObject.put("gdpr", "0");
} catch (JSONException e) {
e.printStackTrace();
}
InMobiSdk.init(this, "Insert InMobi Account ID here", consentObject);
consentObject
は、パブリッシャーがSDKに提供するすべての同意の辞書的表現です。EEA地域からのトラフィックを収益化する場合はキーは必須です。InMobiは、規制を遵守するためのユーザーからの同意の取得についてはパブリッシャに依存しています。こちらでGDPR規制の詳細についてご覧ください。
Key | Type | Inference |
gdpr_consent_available | boolean | "true":パブリッシャーはユーザーのデータを収集して使用することに同意しました。
"false" :パブリッシャーはユーザーのデータを収集して使用することに同意しませんでした。 "true" および "false" 以外の値は無効であり、パブリッシャが提供しない値、つまり空の値として扱われます。 |
gdpr | Number | 要求がGDPR規制の対象であるかどうかの確認。次の値セットからの偏差、0 = No および 1 = Yes は、未知のエンティティを示します。 |
The key gdpr_consent_available can be accessed via string constant IM_GDPR_CONSENT_AVAILABLE
Important
consentObject
は、すべてのセッションで提供される必要があります。SDKはconsentを保持せず、consentObject
をメモリ内に保持するのみです。アプリが再起動またはクラッシュすると、SDKはconsentObject
を失います。.Within a session, you can update the consent like this:
InMobiSdk.updateGDPRConsent(JSONObject consentObject)
注意: このメソッドはUIスレッド上で呼び出す必要があります。そうしないと初期化に失敗して、お客様のアプリケーションがInMobiで収益化できなくなります。
推奨: お客様のアプリが位置情報を取得している場合、その位置情報を広告リクエストに含めることを主衣装します。位置情報を利用した広告配信はより高額の収益化に繋がります。アプリで位置情報を収集している場合、InMobi SDKが自動的にその情報を広告リクエストに含めます。もしお客様のアプリで位置情報を収集しいても、InMobi に共有し広告に利用したくない様でしたら、管理画面のProperty の設定より、“Location Automation”をOFFにすることによって位置情報をInMobiに共有しない設定が可能です。
以下のAndroidフレームワークからお客様のアプリケーションが取得した Location
オブジェクトを受け渡しできます。
InMobiSdk.setLocation(locationObj);
同様に、以下で市、州、国をの情報を設定することができます。
InMobiSdk.setLocationWithCityStateCountry("city", "state", "country");
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_24, BETWEEN_25_AND_29, BETWEEN_30_AND_34
// BETWEEN_35_AND_44, BETWEEN_45_AND_54, BETWEEN_55_AND_65, ABOVE_55
これらの広告フォーマットでお客様のAndroidアプリの収益化を始めましょう。