将自定义相关性标识符与 Google 移动广告 SDK 搭配使用

某些应用需要将两个广告请求相互关联。

Google 移动广告 SDK 不允许您关联两个请求,因此很难防止向两个类似的广告请求投放相同的广告素材。Ad Manager 中的路障广告竞争性排除功能也需要相关联的广告请求。

相关器值是一个随机无符号整数,长度为 16 个字符,以字符串形式表示。默认情况下,GMA SDK 会在每次广告请求时生成新的相关性标识符,这意味着任何两个请求之间都没有相关性。

如需关联两个请求,您可以手动替换由 GMA SDK 生成的相关性标识符,并将同一相关性标识符应用于多个广告请求。如需使用此功能,您需要生成自己的随机相关器。以下示例展示了如何传递您自己的相关器:

Swift

var correlator = "2510196024846425" // make randomly - should be 16 digits.
let request = AdManagerRequest()
let extras = Extras()
extras.additionalParameters = ["correlator": correlator];
request.register(extras)

Objective-C

NSString *correlator = @"2510196024846425" // make randomly - should be 16 digits.
DRPRequest *request = [[GAMRequest alloc] init];
GADExtras *extras = [[GADExtras alloc] init];
extras.additionalParameters = @{ @"correlator": correlator};
[request registerExtras:extras];

相关器生命周期为 30 秒。间隔超过 30 秒的请求不会被服务器视为相关。

最佳做法

使用自定义相关 ID 可为 Ad Manager 提供所需的上下文,以防止其选择相同的广告素材,但广告请求需要按顺序发出:先发出一个广告请求,获取响应,然后再发出下一个请求。

您可以多次执行此操作,但调用次数越多,消耗的资源就越多。最好将连续请求的次数限制为 3-5 次。您可以在用户向下滚动页面时进行其他调用。

由于相关性标识符会在 30 秒后过期,因此对于同一长时间的网页浏览,您无需生成新值。在每个新的长期有效的网页浏览开始时生成新的相关器。如果您不再需要此行为,请停止传递您自己的相关性标识符。

为了防止您返回的广告在关联标识符过期后在后续调用中投放,请考虑添加频次上限,即每 5 到 10 分钟投放 1 个广告。您选择的时间应与应用的典型使用情况相符。如果您不呈现广告,频次上限可能会被清除,因此如果您发出广告请求,但不呈现广告并进行其他调用,则可能会收到同一广告。