一部のアプリでは、2 つの広告リクエストを相互に関連付ける必要があります。
Google Mobile Ads SDK では 2 つのリクエストを関連付けることができないため、同じクリエイティブが 2 つの類似した広告リクエストに配信されるのを防ぐことが困難です。アド マネージャーのロードブロック機能と競合広告の除外機能でも、相関広告リクエストが必要です。
相関関係の値は、文字列として表される 16 文字の長さのランダムな符号なし整数です。デフォルトでは、GMA SDK は広告リクエストごとに新しい相関子を生成するため、2 つのリクエストが関連付けられることはありません。
2 つのリクエストを関連付けるには、GMA SDK によって生成された相関子を手動でオーバーライドし、同じ相関子を複数の広告リクエストに適用します。この機能を使用するには、独自のランダム コリレーターを生成する必要があります。独自の相関子を渡す方法の例を次に示します。
Java
Bundle extras = new Bundle();
String correlator = "2510196024846425"; // make randomly - should be 16 digits.
extras.putString("correlator", correlator);
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Kotlin
val extras = Bundle()
val correlator = "2510196024846425" // make randomly - should be 16 digits.
extras.putString("correlator", correlator)
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
相関子の有効期間は 30 秒です。30 秒以上間隔を空けて行われたリクエストは、サーバーによって関連付けられない。
ベスト プラクティス
カスタム相関子を使用すると、アド マネージャーは同じクリエイティブを選択しないようにするために必要なコンテキストを取得できますが、広告リクエストは順番に行う必要があります。つまり、広告リクエストを行い、レスポンスを取得してから、次のリクエストを行う必要があります。
この操作は複数回行うことができますが、呼び出し回数が増えるほど、消費するリソースも増えます。連続リクエストは 3 ~ 5 回に制限することをおすすめします。ユーザーがページを下にスクロールすると、追加の呼び出しを行うことができます。
相関子は 30 秒後に期限切れになるため、同じ長いページビューに対して新しい値を生成する必要はありません。新しい長期間のページビューが開始されるたびに、新しい相関関係子を生成します。この動作が不要になった場合は、独自の相関関係子の受け渡しを停止します。
相関関係子が期限切れになった後の呼び出しで、返された広告が配信されないようにするには、5 ~ 10 分ごとに 1 つの広告のフリークエンシー キャップを追加することを検討してください。選択する時間は、アプリの一般的な使用時間と一致している必要があります。広告をレンダリングしないと、フリークエンシー キャップが削除されることがあります。そのため、広告リクエストを行っても広告をレンダリングせず、追加の呼び出しを行うと、同じ広告が表示されることがあります。