このガイドでは、GMA Next-Gen SDK を使用して AdMob メディエーションで InMobi の広告を読み込んで表示する方法と、ウォーターフォール統合と入札統合の両方について説明します。また、広告ユニットのメディエーション設定に InMobi を追加する方法と、InMobi SDK とアダプタを Android アプリに統合する方法についても取り上げます。
サポートされている統合と広告フォーマット
InMobi 用のメディエーション アダプタには、次の機能があります。
| 統合 | |
|---|---|
| 入札 | |
| ウォーターフォール | |
| フォーマット | |
| バナー | |
| インタースティシャル | |
| リワード | |
| ネイティブ | |
要件
- Android API レベル 24 以降
- [入札]: 入札でサポートされているすべての広告フォーマットを統合するには、 InMobi アダプタ 10.6.3.0 以降を使用します(最新バージョンを推奨)。
最新の GMA Next-Gen SDK
メディエーションの スタートガイドの手順を完了していること
ステップ 1: InMobi の管理画面で構成を設定する
登録して InMobi アカウントを作成します。

アカウントが確認されたら、ログインします。
アプリを追加
アプリを InMobi ダッシュボードに追加するには、[Inventory] > [Inventory Settings] をクリックします。

[Add Inventory] をクリックし、プルダウン メニューから [Mobile App] チャネルを選択します。

検索バーに公開済みアプリストアのURL の入力を開始し、自動入力された結果からアプリを選択します。[Continue] をクリックします。

アプリが公開されていない場合は、[Link manually] をクリックして必要な詳細情報を入力します。[Continue] をクリックします。

[App &Website Compliance] の設定を確認し、[Save and Create Placements] をクリックします。

プレースメント
広告枠を設定すると、プレースメント作成ワークフローにリダイレクトされます。
次に、プレースメントを作成するアプリまたはウェブサイトを検索します。[Add a placement] をクリックします。
入札
広告ユニットのタイプを選択します。次に、プレースメント名 を入力し、 [On] と [Google Open Bidding] を [Audience Bidding] と [Partner] でそれぞれ選択して、フォームの残りの部分を入力します。完了したら [Create Placement] をクリックします。

ウォーターフォール
広告ユニットのタイプを選択します。次に、**プレースメント名** を入力し、 [**Off**] で [**Audience Bidding**] を選択して、フォームの残りの部分を入力します。完了したら [Create Placement] をクリックします。

プレースメントが作成されると、その詳細が表示されます。AdMob 広告ユニットの設定に使用するプレースメント ID をメモしておきます。

アカウント ID
InMobi アカウント ID は、[Finance] > [Payment Settings] > [Payment Information] で確認できます。

InMobi Reporting API キーを確認する
入札
入札統合の場合、この手順は必要ありません。
ウォーターフォール
[My Account] > [Account Settings] に移動します。[API Key] タブに移動し、[Generate API Key] をクリックします。
キーが必要なユーザーのメールアドレス を選択し、[Generate API Key] をクリックします。API キーとユーザー名/ログイン名を含むファイルが生成されます。

アカウントのパブリッシャー管理者は、すべてのユーザーの API キーを生成できます。以前に生成した API キーを忘れた場合は、[API Key] タブでメールアドレスにカーソルを合わせて、API キーをリセットします。

app-ads.txt を更新する
アプリの認定販売者 app-ads.txt は、IAB Tech Lab が推進するイニシアチブで、承認されたチャネルでのみアプリ広告枠を販売できるようにするものです。広告収入の大幅な減少を防ぐためには、app-ads.txt ファイルを実装する必要があります。まだ設定していない場合は、
アプリの app-ads.txt ファイルを設定します。
InMobi 用に app-ads.txt を実装するには、
パーソナライズされたコード スニペットを追加します。
テストモードをオンにする
すべてのライブ インプレッションまたは特定のテストデバイスでのみ、プレースメントのテストモード を有効にします。

ステップ 2: AdMob の管理画面で InMobi のデマンドを設定する
広告ユニットのメディエーション設定を構成する
広告ユニットのメディエーション設定に InMobi を追加する必要があります。
まず、AdMob アカウントにログインします。次に、[メディエーション] タブに移動します。変更したい既存のメディエーション グループがある場合は、 そのメディエーション グループの名前をクリックして編集し、 InMobi を広告のソースとして追加するステップに進みます。
新しいメディエーション グループを作成するには、[メディエーション グループを作成] をクリックします。

広告フォーマットとプラットフォームを入力し、[続行] をクリックします。

メディエーション グループに名前を付け、ターゲットとする地域を選択します。次に、 メディエーション グループのステータスを [有効] に設定し、[広告ユニットを追加] をクリックします。

このメディエーション グループを、1 つ以上の既存の AdMob 広告ユニットに関連付けます。次に [完了] をクリックします。

広告ユニット カードに選択した広告ユニットが表示されます。

広告のソースとして InMobi を追加する
入札
[広告ソース] セクションの [入札] カードで、[広告ソースを追加] を選択します。[InMobi](SDK) を選択します。
[**パートナー契約への署名手順**] をクリックし、 InMobi との入札パートナーシップを設定します。
[**確認して同意する**] をクリックし、[**続行**] をクリックします。
InMobi のマッピングがすでに存在する場合は、 それを選択できます。それ以外の場合は、[マッピングを追加] をクリックします。
次に、前のセクションで取得した アカウント ID と プレースメント ID を入力します。[完了] をクリックします。

ウォーターフォール
[広告のソース] セクションの [ウォーターフォール] カードで、[広告ソースを追加] を選択します。
[InMobi] を選択し、[最適化] スイッチを有効にします。前のセクションで取得したユーザー名と API キーを入力して、InMobi の広告ソース最適化を設定します。次に、InMobi の eCPM 値を入力し、[続行] をクリックします。

InMobi のマッピングがすでに存在する場合は、それを選択できます。それ以外の場合は、[マッピングを追加] をクリックします。

次に、前のセクションで取得したアカウント ID とプレースメント ID を入力します。[完了] をクリックします。

GDPR と米国の州規制の広告パートナー リストに InMobi を追加する
欧州の規制に関する設定 と 米国の州の規制に関する設定 の手順に沿って、AdMob 管理画面の 欧州および米国の州の規制に関する広告パートナーのリストに InMobi を追加します。
ステップ 3: InMobi SDK とアダプタをインポートする
Android Studio の統合(推奨)
アプリレベルの gradle ファイルに、次の実装の依存関係と構成を追加します。
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01") implementation("com.google.ads.mediation:inmobi:11.1.1.0") } configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01' implementation 'com.google.ads.mediation:inmobi:11.1.1.0' } configurations.configureEach { exclude group: 'com.google.android.gms', module: 'play-services-ads' exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' }
手動による統合
InMobi Android SDK をダウンロードし、
InMobiSDK.aarファイルをlibsフォルダから抽出して、プロジェクトに追加します。Google の Maven リポジトリで InMobi アダプタ アーティファクト に移動します。最新バージョンを選択し、InMobi アダプタの
.aarファイルをダウンロードして、プロジェクトに追加します。InMobi では、他の依存関係も含める必要があります。詳しくは、 InMobi のドキュメント をご覧ください。
ステップ 4: InMobi SDK にプライバシー設定を実装する
EU の同意に関する規制と GDPR
Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。パブリッシャー様には、同意がメディエーション チェーン内の各広告ソースに反映されていることを確認する責任があります。 Google は、同意に関するユーザーの選択をそのようなネットワークに自動的に渡すことはできません。
バージョン 7.1.0.0 で、InMobi アダプタに InMobiConsent クラスが追加されました。このクラスを使用すると、同意情報を InMobi に渡すことができます。次のサンプルコードでは、InMobiConsent クラスで updateGDPRConsent() を呼び出しています。このメソッドを呼び出す場合は、
GMA Next-Gen SDK を通じて広告をリクエストする前に呼び出すことをおすすめします。
GMA Next-Gen SDK
Kotlin
import com.inmobi.sdk.InMobiSdk
import com.google.ads.mediation.inmobi.InMobiConsent
// ...
val consentObject = JSONObject()
try {
consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true)
consentObject.put("gdpr", "1")
} catch (exception: JSONException) {
Log.e(TAG, "Error creating GDPR consent JSON.", exception)
}
InMobiConsent.updateGDPRConsent(consentObject)
Java
import com.inmobi.sdk.InMobiSdk;
import com.google.ads.mediation.inmobi.InMobiConsent;
// ...
JSONObject consentObject = new JSONObject();
try {
consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
consentObject.put("gdpr", "1");
} catch (JSONException exception) {
Log.e(TAG, "Error creating GDPR consent JSON.", exception);
}
InMobiConsent.updateGDPRConsent(consentObject);
この同意オブジェクトで InMobi が受け入れるキーと値について詳しくは、 InMobi の GDPR 実装の詳細 をご覧ください。
米国のプライバシー関連州法
米国のプライバシー関連州法では、ユーザーが「個人情報」の「販売」をオプトアウトする権利を付与することが義務付けられています(用語は法律の定義に基づく)。「販売者」のホームページには、「個人情報を第三者に売却しない」ことを明記したリンクを目立つように表示することによってオプトアウトの手段を提供する必要があります。米国のプライバシー関連州法遵守ガイドでは、Google 広告の配信で制限付きデータ処理を有効にできますが、Google がこの設定をメディエーション チェーン内の各広告ネットワークに適用することはできません。そのため、メディエーション チェーン内で個人情報の販売に関与する可能性のある広告ネットワークを特定し、各ネットワークのガイダンスに沿って州法を遵守する必要があります。
バージョン 10.5.7.1 で、InMobi アダプタに 共有設定から IAB 米国プライバシー文字列を読み取るサポートが追加されました。共有設定で米国プライバシー文字列を設定するには、 米国のプライバシー関連州法のドキュメント の手順に沿って操作してください。
また、InMobi ダッシュボードで CCPA 設定を有効にする方法については、InMobi の CCPA ドキュメント をご覧ください。
ステップ 5: 追加のコードが必要
InMobi の統合には追加のコードは必要ありません。
ステップ 6: 実装をテストする
テスト広告を有効にする
AdMob 用のテストデバイスを 登録し 、 InMobi の管理画面でテストモードを有効にしてください。
テスト広告を確認する
InMobi からテスト広告を受信していることを確認するには、 InMobi(入札)と InMobi(ウォーターフォール) の広告ソースを使用して、広告インスペクタで 単一の広告ソースのテスト を有効にします。
省略可能なステップ
権限
最適なパフォーマンスを得るため、InMobi では、次のオプションの権限をアプリの AndroidManifest.xml ファイルに追加することをおすすめしています。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
ネットワーク固有のパラメータ
InMobi アダプタは、Android Bundle としてアダプタに渡すことができる追加のリクエスト パラメータをサポートしています。アダプタは、バンドル内で次のキーを検索します。
| リクエスト パラメータと値 | |
|---|---|
InMobiNetworkKeys.AGE_GROUPユーザーの年齢層。 |
InMobiNetworkValues.BELOW_18InMobiNetworkValues.BETWEEN_18_AND_24InMobiNetworkValues.BETWEEN_25_AND_29InMobiNetworkValues.BETWEEN_30_AND_34InMobiNetworkValues.BETWEEN_35_AND_44InMobiNetworkValues.BETWEEN_45_AND_54InMobiNetworkValues.BETWEEN_55_AND_65InMobiNetworkValues.ABOVE_65
|
InMobiNetworkKeys.EDUCATIONユーザーの学歴。 |
InMobiNetworkValues.EDUCATION_HIGHSCHOOLORLESSInMobiNetworkValues.EDUCATION_COLLEGEORGRADUATEInMobiNetworkValues.EDUCATION_POSTGRADUATEORABOVE
|
InMobiNetworkKeys.AGE
|
文字列 。ユーザーの年齢 |
InMobiNetworkKeys.POSTAL_CODE
|
文字列 。ユーザーの郵便番号 (通常は 5 桁の数字) |
InMobiNetworkKeys.AREA_CODE
|
文字列 。ユーザーの市外局番 (電話番号の一部) |
InMobiNetworkKeys.LANGUAGE
|
文字列 。ユーザーの 母語(判明している場合)。 |
InMobiNetworkKeys.CITY
|
文字列 。ユーザーの都市 |
InMobiNetworkKeys.STATE
|
文字列 。ユーザーの州 |
InMobiNetworkKeys.COUNTRY
|
文字列 。ユーザーの国 |
InMobiNetworkKeys.LOGLEVELInMobi SDK のログレベルを設定します。 |
InMobiNetworkValues.LOGLEVEL_NONEInMobiNetworkValues.LOGLEVEL_DEBUGInMobiNetworkValues.LOGLEVEL_ERROR |
広告リクエスト パラメータの設定方法のコード例を次に示します。
Kotlin
val extras = Bundle()
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44)
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE)
val request = AdRequest.Builder(AD_UNIT_ID)
.putAdSourceExtrasBundle(InMobiAdapter::class.java, extras)
.build()
Java
Bundle extras = new Bundle();
extras.putString(InMobiNetworkKeys.AGE_GROUP, InMobiNetworkValues.BETWEEN_35_AND_44);
extras.putString(InMobiNetworkKeys.AREA_CODE, AREA_CODE_VALUE);
AdRequest request = new AdRequest.Builder(AD_UNIT_ID)
.putAdSourceExtrasBundle(InMobiAdapter.class, extras)
.build();
AD_UNIT_ID は、実際の広告ユニット ID に置き換えます。
- AREA_CODE_VALUE は、市外局番に置き換えます。
ネイティブ広告を使用する
広告レンダリング
InMobi アダプタは、ネイティブ広告を
NativeAd
オブジェクトとして返します。`NativeAd` の次のネイティブ広告フィールドに値を設定します。NativeAd
| フィールド | InMobi アダプタによって常に含まれるアセット |
|---|---|
| 広告見出し | |
| 画像 | 1 |
| メディアビュー | |
| 本文 | |
| アプリアイコン | |
| 行動を促すフレーズ | |
| 評価 | |
| ストア | |
| 価格 |
1 InMobi アダプタは、ネイティブ広告のメイン画像アセットへの直接アクセスを
提供しません。代わりに、
アダプタは
MediaView
に動画または画像を設定します。
インプレッションとクリック トラッキング
GMA Next-Gen SDK は、インプレッションと クリック トラッキングに InMobi SDK のコールバックを使用するため、両方のダッシュボードのレポートはほぼ一致します。
エラーコード
アダプタが InMobi から広告を受信できなかった場合は、
次のクラスの
ResponseInfo.getAdSourceResponses()
を使用して、広告レスポンスから根本原因のエラーを確認できます。
com.google.ads.mediation.inmobi.InMobiAdapter
com.google.ads.mediation.inmobi.InMobiMediationAdapter
広告の読み込みに失敗した場合に InMobi アダプタがスローするコードとメッセージは次のとおりです。
| エラーコード | 理由 |
|---|---|
| 0-99 | InMobi SDK エラー。詳しくはコードをご覧ください。 |
| 100 | AdMob 管理画面で設定された InMobi サーバー パラメータがないか、無効です。 |
| 101 | InMobi SDK を初期化できませんでした。 |
| 102 | リクエストされた広告サイズが、InMobi でサポートされているバナーサイズと一致しません。 |
| 103 | 広告リクエストが統合ネイティブ広告リクエストではありません。 |
| 104 | InMobi SDK を初期化せずに InMobi 広告をリクエストしようとしました。アダプタは InMobi 広告をリクエストする前に InMobi SDK を初期化するため、理論上は発生しません。 |
| 105 | InMobi の広告を表示する準備がまだできていません。 |
| 106 | InMobi で広告を表示できませんでした。 |
| 107 | InMobi から、必須アセットが欠落しているネイティブ広告が返されました。 |
| 108 | InMobi のネイティブ広告画像アセットに形式が正しくない URL が含まれています。 |
| 109 | アダプタで InMobi のネイティブ広告画像アセットをダウンロードできませんでした。 |