InMobi をメディエーションと統合する

このガイドでは、GMA Next-Gen SDK を使用して メディエーションで 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] をクリックします。

[インベントリを追加] をクリックし、プルダウン メニューから [モバイルアプリ] チャネルを選択します。

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

アプリが公開されていない場合は、[手動でリンク] をクリックして、必要な詳細情報を入力します。[続行] をクリックします。

[アプリとウェブサイトのコンプライアンス] の設定を確認し、[保存してプレースメントを作成] をクリックします。

プレースメント

インベントリを設定すると、プレースメント作成ワークフローにリダイレクトされます。

入札

広告ユニットのタイプを選択します。プレースメント名を入力し、[オーディエンス入札] と [パートナー] でそれぞれ [オン] と [Google Open Bidding] を選択して、フォームの残りの部分を入力します。完了したら、[プレースメントを作成] をクリックします。

ウォーターフォール

広告ユニットのタイプを選択します。次に、プレースメント名を入力し、[オーディエンス入札] で [オフ] を選択して、フォームの残りの部分を入力します。完了したら、[プレースメントを作成] をクリックします。

プレースメントが作成されると、その詳細が表示されます。プレースメント ID をメモします。この ID は、アド マネージャーの広告ユニットの設定に使用します。

アカウント ID

InMobi アカウント ID は、[Finance(財務)> Payment Settings(お支払い設定)> Payment Information(お支払い情報)] で確認できます。

InMobi Reporting API キーを確認する

入札

入札統合の場合、この手順は必要ありません。

ウォーターフォール

[My Account] > [Account Settings] に移動します。[API キー] タブに移動し、[API キーを生成] をクリックします。

キーが必要なユーザーのメールアドレスを選択し、[API キーを生成] をクリックします。API キーとユーザー名/ログイン名を含むファイルが生成されます。

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

app-ads.txt を更新する

アプリの認定販売者 app-ads.txt は、IAB Tech Lab が推進するイニシアチブで、承認されたチャネルでのみアプリ広告枠を販売できるようにするものです。広告収入の大幅な減少を防ぐためには、app-ads.txt ファイルを実装する必要があります。まだ作成していない場合は、アド マネージャー用の app-ads.txt ファイルを作成します。

InMobi に app-ads.txt を実装するには、パーソナライズされたコード スニペットを追加します。

テストモードをオンにする

すべてのライブ インプレッションまたは特定のテストデバイスのみで、プレースメントのテストモードを有効にします。

ステップ 2: アド マネージャーの管理画面で InMobi のデマンドを設定する

アド マネージャー アカウントにログインします。

[Companies] に InMobi を追加する

入札単価

入札統合の場合、この手順は必要ありません。

ウォーターフォール

[管理] > [会社] に移動し、[すべての会社] タブで [新しい会社] ボタンをクリックします。[広告ネットワーク] を選択します。

[広告ネットワーク] として [InMobi] を選択し、一意の名前を入力して、[メディエーション] を有効にします。[自動データ収集] をオンにして、前のセクションで取得したユーザー名API キーを入力します。

次に、ユーザー名を入力し、完了したら [保存] をクリックします。

セキュア シグナルの共有を有効にする

入札単価

[管理者] > [全般設定] に移動します。[Ad Exchange アカウントの設定] タブに移動し、[セキュア シグナルの共有] を確認してオンに切り替えます。[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

入札リクエストでセキュア シグナルを共有する

入札単価

[広告枠] > [セキュア シグナル] に移動します。[セキュア シグナル] で、InMobi を検索し、[アプリ統合を有効にする] をオンにします。

[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

SDK 入札のセキュア シグナルの共有を許可する

入札単価

[配信] > [デマンド チャネルの設定] に移動します。[デフォルト設定] タブで、[SDK 入札] の [セキュア シグナルの共有を許可する] をオンにします。

[保存] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

InMobi の入札を設定する

入札単価

[配信] > [入札者(ビッダー)] に移動し、[SDK 入札に移動] をクリックします。

[新しいビッダー] をクリックします。

ビッダーとして [InMobi] を選択します。

[続行] をクリックして、このビッダーの SDK 入札を有効にします。

[完了] をクリックします。

ウォーターフォール

ウォーターフォール統合の場合、この手順は必要ありません。

広告ユニットのマッピングを設定する

入札単価

[配信] > [入札者(ビッダー)] に移動し、[SDK 入札に移動] をクリックします。

InMobi の会社を選択します。

[広告ユニットのマッピング] タブに移動し、[新しい広告ユニットのマッピング] をクリックします。

[特定の広告ユニット] を選択します。広告ユニットと広告フォーマットを選択します。[広告枠のタイプ] として [モバイルアプリ] を選択し、対象のモバイルアプリを選択します。次に、前のセクションで取得したアカウント IDプレースメント ID を入力します。最後に [保存] をクリックします。

ウォーターフォール

[配信] > [収益グループ] に移動し、[新しい収益グループ] ボタンをクリックします。モバイルアプリを選択します。

下にスクロールして [収益パートナーを追加] をクリックします。

前のセクションで InMobi 用に作成した会社を選択します。[統合タイプ] で [モバイル SDK メディエーション]、[プラットフォーム] で [Android]、[ステータス] で [有効] を選択します。

前のセクションで取得したアカウント IDプレースメント ID、およびデフォルト CPM の値を入力します。[保存] をクリックします。

注: 自動データ収集では、メディエーション ネットワークのダイナミック CPM 値を正確に計算できるようになるまで、データの収集に数日かかります。eCPM を計算できるようになると、自動的に更新されます。

GDPR と米国の州規制の広告パートナー リストに InMobi を追加する

欧州の規制に関する設定米国の州の規制に関する設定の手順に沿って、アド マネージャーの管理画面で欧州および米国の州の規制に関する広告パートナーのリストに InMobi を追加します。

ステップ 3: InMobi SDK とアダプタをインポートする

アプリレベルの Gradle ファイルに、次の実装依存関係と構成を追加します。

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02")
    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.24.0-beta02'
    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'
}

手動による統合

  1. InMobi Android SDK をダウンロードし、libs フォルダにある InMobiSDK.aar ファイルを抽出して、プロジェクトに追加します。

  2. Google の Maven リポジトリで InMobi アダプタ アーティファクトに移動します。最新バージョンを選択し、InMobi アダプタの .aar ファイルをダウンロードして、プロジェクトに追加します。

  3. InMobi では、他の依存関係も含める必要があります。詳しくは、InMobi のドキュメントをご覧ください。

ステップ 4: InMobi SDK にプライバシー設定を実装する

Google の EU ユーザーの同意ポリシーに準拠するには、欧州経済領域(EEA)、英国、スイスのユーザーに対して特定の情報を開示し、法律で義務付けられている場合は、Cookie やその他のローカル ストレージの使用、広告のパーソナライズを目的とした個人データの収集、共有、使用についてユーザーの同意を得る必要があります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。パブリッシャー様には、同意がメディエーション チェーン内の各広告ソースに反映されていることを確認する責任があります。 Google は、同意に関するユーザーの選択をそのようなネットワークに自動的に渡すことはできません。

バージョン 7.1.0.0 で、InMobi アダプタに InMobiConsent クラスが追加されました。このクラスを使用すると、同意情報を InMobi に渡すことができます。次のサンプルコードは、InMobiConsent クラスで updateGDPRConsent() を呼び出します。このメソッドを呼び出す場合は、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: 実装をテストする

テスト広告を有効にする

アド マネージャー用のテストデバイスを登録し、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_18
InMobiNetworkValues.BETWEEN_18_AND_24
InMobiNetworkValues.BETWEEN_25_AND_29
InMobiNetworkValues.BETWEEN_30_AND_34
InMobiNetworkValues.BETWEEN_35_AND_44
InMobiNetworkValues.BETWEEN_45_AND_54
InMobiNetworkValues.BETWEEN_55_AND_65
InMobiNetworkValues.ABOVE_65
InMobiNetworkKeys.EDUCATION
ユーザーの学歴。
InMobiNetworkValues.EDUCATION_HIGHSCHOOLORLESS
InMobiNetworkValues.EDUCATION_COLLEGEORGRADUATE
InMobiNetworkValues.EDUCATION_POSTGRADUATEORABOVE
InMobiNetworkKeys.AGE 文字列。ユーザーの年齢
InMobiNetworkKeys.POSTAL_CODE 文字列。ユーザーの郵便番号(通常は 5 桁の数字)
InMobiNetworkKeys.AREA_CODE 文字列。ユーザーの市外局番(電話番号の一部)
InMobiNetworkKeys.LANGUAGE 文字列。ユーザーの母語(わかっている場合)。
InMobiNetworkKeys.CITY 文字列。ユーザーの都市
InMobiNetworkKeys.STATE 文字列。ユーザーの状態
InMobiNetworkKeys.COUNTRY 文字列。ユーザーの国
InMobiNetworkKeys.LOGLEVEL
InMobi SDK のログレベルを設定します。
InMobiNetworkValues.LOGLEVEL_NONE
InMobiNetworkValues.LOGLEVEL_DEBUG
InMobiNetworkValues.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 の次のフィールドに入力します。

フィールド 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 アド マネージャー UI で設定された 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 のネイティブ広告の画像アセットをダウンロードできませんでした。