Adapter für sichere Signale entwickeln

Wenn Sie ein SDK für einen Signalanbieter haben, mit dem RTB-Signale (Real-Time Bidding, Echtzeitgebote) generiert werden, können Sie einen Adapter für sichere Signale entwickeln, damit Google Mobile Ads SDK Signale aus Ihrem SDK erfassen kann.

Google Mobile Ads SDK leitet Ihre Signale an ausgewählte teilnehmende Authorized Buyers und Open Bidding-Käufer weiter.

Das folgende Diagramm veranschaulicht den Anfrage-/Antwortzyklus für die sichere Erfassung von Signalen:

Ein Adapter für sichere Signale ist für die Adapterinitialisierung und die Signalerfassung verantwortlich.

Adapter für sichere Signale implementieren

Implementieren Sie einen Adapter für sichere Signale für Google Mobile Ads SDK, um Signale aus Ihrem SDK zu erfassen.

In diesem Leitfaden wird beschrieben, wie Sie einen Adapter für sichere Signale implementieren, indem Sie die abstrakte Klasse RtbAdapter erweitern.

Im folgenden Beispiel wird die abstrakte Klasse RtbAdapter erweitert:

Java

public class SampleAdapterSnippets extends RtbAdapter {

Adapter initialisieren

Google Mobile Ads SDK ruft die Methode initialize() auf, wenn Google Mobile Ads SDK Ihren Adapter für sichere Signale instanziiert. Verwenden Sie diese Methode, um Ihr SDK zu initialisieren.

Wenn Ihr SDK vollständig initialisiert ist und Google Mobile Ads SDK bereit ist, Signale zu erfassen, rufen Sie den Callback InitializationCompleteCallback auf.

Wenn Ihr Adapter für sichere Signale keinen Rückruf ausführt, werden in Google Mobile Ads SDK keine Signale von Ihrem Adapter für sichere Signale erfasst.

Im folgenden Beispiel wird der Completion-Callback aufgerufen, um Google Mobile Ads SDK darüber zu informieren, dass Ihr SDK erfolgreich initialisiert wurde:

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();
}

Adapter- und SDK-Version melden

Ihr Adapter für sichere Signale muss sowohl die Adapterversion als auch die SDK-Version melden. Google Mobile Ads SDK verwendet diese Versionen für Berichte und zur Fehlerbehebung.

Wenn Ihr SDK diesen Adapter im selben Binärprogramm implementiert, können Sie für Adapter- und SDK-Version dieselbe Version zurückgeben.

Im folgenden Beispiel wird die Version Ihres Adapters für sichere Signale zurückgegeben:

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);
}

Im folgenden Beispiel wird die Version des SDK zurückgegeben, mit der Ihr Adapter für sichere Signale interagiert:

Java

@Override
public VersionInfo getSDKVersionInfo() {

  // Return your SDK's version string here.
  String versionString = SDK_VERSION_STRING;
  String[] splits = versionString.split("\\.");
  if (splits.length >= 3) {
    try {
      int major = Integer.parseInt(splits[0]);
      int minor = Integer.parseInt(splits[1]);
      int micro = Integer.parseInt(splits[2]);
      return new VersionInfo(major, minor, micro);
    } catch (NumberFormatException e) {
      // Fall through to log warning and return 0.0.0.
    }
  }

  Log.w(
      TAG,
      String.format(
          "Unexpected SDK version format: %s. Returning 0.0.0 for SDK version.", versionString));
  return new VersionInfo(0, 0, 0);
}

Ersetzen Sie SDK_VERSION_STRING durch den String Ihrer SDK-Version.

Signale erfassen

Bei jeder Anzeigenanfrage erfasst Google Mobile Ads SDK gleichzeitig Signale von allen Adaptern in einem Hintergrundthread.

Im folgenden Beispiel werden Signale für Google Mobile Ads SDK erfasst und zurückgegeben, indem die Methode SignalCallbacks.onSuccess() aufgerufen wird:

Java

@Override
public void collectSignals(RtbSignalData rtbSignalData, SignalCallbacks signalCallbacks) {

  // Add your signal collection logic here.
  String signals = SAMPLE_SIGNAL_PLACEHOLDER;

  // Return the signals as a string to the Google Mobile Ads SDK.
  signalCallbacks.onSuccess(signals);
}

Ersetzen Sie SAMPLE_SIGNAL_PLACEHOLDER durch Ihren sicheren Signalstring.

Die Erfassung von Signalen muss innerhalb einer Sekunde abgeschlossen sein. Wenn die Signalerfassung länger als eine Sekunde dauert, sollten Sie Signale in Ihrem Adapter für sichere Signale oder in Ihrem SDK zwischenspeichern, wenn Sie den Adapter initialisieren.

Wenn Ihr Adapter für sichere Signale keine Signale erfasst, übergeben Sie einen Fehler an die Methode signalCallbacks.onFailure().

Signale verschleiern

Wenn Sie sichere Signale für Bieter und Kuratierungspartner freigeben, müssen Sie die Signale verschleiern.