搭配 Mobile Ads SDK 使用自訂 Correlator

部分應用程式需要將兩個廣告請求相互關聯。

Google Mobile Ads SDK 不允許您將兩個請求相互關聯,因此難以避免向兩個類似的廣告請求放送相同的廣告素材。如要在 Ad Manager 中使用路障型廣告競爭排除功能,也必須使用相關的廣告請求。

關聯器值是隨機未簽署的整數,長度為 16 個字元,以字串表示。根據預設,GMA SDK 會在每次廣告請求時產生新的關聯器,因此不會有兩個請求相互關聯。

如要關聯兩個請求,您可以手動覆寫 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 秒的要求視為相關。

最佳做法

使用自訂相互關係器可為 Ad Manager 提供所需背景資訊,避免選取相同廣告素材,但廣告請求必須依序發出:發出廣告請求、取得回應,然後發出下一個請求。

您可以多次執行這項操作,但呼叫次數越多,消耗的資源就越多。最好將連續要求限制在 3 到 5 個。使用者向下捲動頁面時,您可以發出額外呼叫。

由於關聯器會在 30 秒後過期,因此您不需要為同一個長效網頁瀏覽產生新值。在每個新的長期網頁瀏覽開始時,產生新的關聯器。如果不再需要這項行為,請停止傳遞您自己的關聯器。

為避免系統在關聯器過期後,於後續呼叫中放送您傳回的廣告,請考慮加入頻率上限,每 5 到 10 分鐘放送 1 則廣告。您選取的時間應與應用程式的典型使用情況一致。 如果您未放送廣告,展示頻率上限可能會遭到清除,因此如果您提出廣告請求,但未放送廣告並進行額外呼叫,可能會收到相同的廣告。