リアルタイム ビッダー(RTB)シグナルを生成するシグナル プロバイダ SDK がある場合は、セキュア シグナル アダプタを開発して、Google Mobile Ads SDK が SDK からシグナルを収集できるようにすることができます。
Google Mobile Ads SDK は、選択した参加中の認定バイヤーと Open Bidding の購入者にシグナルを転送します。
次の図は、安全なシグナルの収集のリクエストとレスポンスのライフサイクルを示しています。
セキュア シグナル アダプタは、アダプタの初期化とシグナルの収集を担当します。
セキュア シグナル アダプタを実装する
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 はセキュア シグナル アダプターからシグナルを収集しません。
次の例では、完了コールバックを呼び出して、SDK が正常に初期化されたことを Google Mobile Ads 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 は、安全なシグナル文字列に置き換えます。
シグナル収集は 1 秒以内に完了する必要があります。シグナルの収集に 1 秒以上かかる場合は、アダプタを初期化するときに、セキュア シグナル アダプタまたは SDK でシグナルをキャッシュに保存することを検討してください。
セキュア シグナル アダプターがシグナルを収集できない場合は、signalCallbacks.onFailure() メソッドにエラーを渡します。
シグナルを難読化する
ビッダーやキュレーション パートナーとセキュア シグナルを共有する場合は、シグナルを難読化する必要があります。