安全信号是在客户端设备上收集并与特定出价方共享的经过编码的数据。本指南介绍了如何使用 IMA SDK 收集安全信号并将其发送到 Google Ad Manager。
安全信号 API 需要 Android 版 IMA SDK 3.29.0 或更高版本。
如需选择信号和出价方并启用安全信号共享功能,请参阅与出价方共享安全信号。
使用第三方信号提供商
如需使用安全信号,您必须在应用中部署信号收集器适配器类,以收集信号、对其进行编码并将其传递给 IMA SDK。
按照第三方提供商的说明在其处设置账号、添加 build 依赖项,并在应用中设置其安全信号适配器。
IMA SDK for Android 会自动初始化每个安全信号适配器,无需对您的代码进行任何其他更改。
以下示例展示了如何向项目添加安全信号适配器:
发送自定义数据
除了使用第三方信号提供商之外,您还可以使用自定义数据收集、编码和发送信号。您必须先在 Ad Manager 中启用自定义信号,然后才能发送包含自定义数据的安全信号。
对于每个广告请求,请创建一个 SecureSignals
对象,其中包含编码后的自定义数据(作为字符串)。然后,通过调用 adsRequest.setSecureSignals()
将 SecureSignals
对象添加到广告请求中。
下面是一个 Java 示例:
app/src/main/java/com/example/project name/MainActivity.java
...
private void requestAds(String adTagUrl) {
// Create the ads request.
AdsRequest request = sdkFactory.createAdsRequest();
request.setAdTagUrl(adTagUrl);
request.setContentProgressProvider(
() -> {
if (videoPlayer.getDuration() <= 0) {
return VideoProgressUpdate.VIDEO_TIME_NOT_READY;
}
return new VideoProgressUpdate(
videoPlayer.getCurrentPosition(), videoPlayer.getDuration());
});
SecureSignals signal = SecureSignals.create("My encoded signal string");
request.setSecureSignals(signal);
// Request the ad. After the ad is loaded, onAdsManagerLoaded() will be called.
adsLoader.requestAds(request);
}
...