如果您有產生即時出價 (RTB) 信號的信號供應商 SDK,可以開發安全信號轉接程式,讓 Google Mobile Ads SDK 從您的 SDK 收集信號。
Google Mobile Ads SDK 會將信號轉送給所選的參與 Authorized Buyers 和公開出價買方。
下圖說明安全信號收集作業的請求-回應生命週期:
安全信號轉接程式負責初始化轉接程式和收集信號。
實作安全信號轉接程式
導入 Google Mobile Ads SDK 的安全信號轉接程式,從 SDK 收集信號。
本指南說明如何擴充 RtbAdapter 抽象類別,導入安全信號轉接程式。
以下範例會擴充 RtbAdapter 抽象類別:
Java
public class SampleAdapterSnippets extends RtbAdapter {
初始化轉接程式
Google Mobile Ads SDK 會在例項化安全信號介面卡時呼叫 initialize() 方法。Google Mobile Ads SDK使用這個方法初始化 SDK。
SDK 完全初始化並準備好讓 Google Mobile Ads SDK 收集信號時,請呼叫 InitializationCompleteCallback 回呼。
如果安全信號轉接程式未回呼,Google Mobile Ads SDK就不會從安全信號轉接程式收集信號。
下列範例會呼叫完成回呼,通知 Google Mobile Ads SDK 您的 SDK 已成功初始化:
Java
@Override
public void initialize(
Context context,
InitializationCompleteCallback initializationCompleteCallback,
List<MediationConfiguration> configurations) {
// Add your SDK initialization logic here.
// Invoke the InitializationCompleteCallback once initialization completes.
initializationCompleteCallback.onInitializationSucceeded();
}
回報轉接程式和 SDK 版本
安全信號轉接程式必須回報轉接程式版本和 SDK 版本。Google Mobile Ads SDK會使用這些版本製作報表和排解問題。
如果 SDK 在同一個二進位檔中實作這個轉接程式,您可以為轉接程式和 SDK 版本傳回相同版本。
以下範例會傳回安全信號轉接程式的版本:
Java
@Override
public VersionInfo getVersionInfo() {
// If your SDK implements this adapter in the same binary, return
// the same version as your SDK.
// return getSDKVersionInfo();
// If you built a separate binary for this adapter, return
// the adapter's version here.
int major = 4;
int minor = 5;
int micro = 6;
return new VersionInfo(major, minor, micro);
}
以下範例會傳回安全信號轉接程式互動的 SDK 版本:
Java
將 SDK_VERSION_STRING 替換為您的 SDK 版本字串。
收集信號
在每個廣告請求中,Google Mobile Ads SDK 會同時從背景執行緒上的所有轉接程式收集信號。
以下範例會呼叫 SignalCallbacks.onSuccess() 方法,收集信號並傳回至 Google Mobile Ads SDK:
Java
將 SAMPLE_SIGNAL_PLACEHOLDER 替換為安全信號字串。
信號收集作業必須在一秒內完成。如果信號收集時間超過一秒,請考慮在初始化轉接程式時,將信號快取到安全信號轉接程式或 SDK 中。
如果安全信號轉接程式無法收集信號,請將錯誤傳遞至 signalCallbacks.onFailure() 方法。
混淆信號
與出價方和收錄合作夥伴共用安全信號時,您必須將信號模糊處理。