Sviluppare un adattatore di indicatori sicuri

Se hai un SDK del fornitore di indicatori che genera indicatori di offerte in tempo reale (RTB) puoi sviluppare un adattatore di indicatori sicuri per consentire a Google Mobile Ads SDK di raccogliere indicatori dal tuo SDK.

Google Mobile Ads SDK inoltra i tuoi indicatori agli acquirenti Authorized Buyers e Open Bidding partecipanti selezionati.

Il seguente diagramma illustra il ciclo di vita della richiesta-risposta per la raccolta di indicatori sicuri:

Un adattatore di indicatori sicuri è responsabile dell'inizializzazione dell'adattatore e della raccolta degli indicatori.

Implementare un adattatore di indicatori sicuri

Implementa un adattatore di indicatori sicuri per Google Mobile Ads SDK per raccogliere indicatori da il tuo SDK.

Questa guida spiega come implementare un adattatore di indicatori sicuri estendendo la classe astratta RtbAdapter.

L'esempio seguente estende la classe astratta RtbAdapter:

Java

public class SampleAdapterSnippets extends RtbAdapter {

Inizializzare l'adattatore

Google Mobile Ads SDK chiama il metodo initialize() quando Google Mobile Ads SDK crea un'istanza dell'adattatore di indicatori sicuri. Utilizza questo metodo per inizializzare l'SDK.

Quando l'SDK è completamente inizializzato ed è pronto per Google Mobile Ads SDK la raccolta degli indicatori da parte di, chiama il InitializationCompleteCallback callback.

Se l'adattatore di indicatori sicuri non esegue il callback, Google Mobile Ads SDK non raccoglie indicatori dall'adattatore di indicatori sicuri.

L'esempio seguente chiama il callback di completamento per informare Google Mobile Ads SDK che l'SDK è stato inizializzato correttamente:

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

Segnalare la versione dell'adattatore e dell'SDK

L'adattatore di indicatori sicuri deve segnalare sia la versione dell'adattatore sia la versione dell'SDK. Google Mobile Ads SDK utilizza queste versioni per la generazione di report e la risoluzione dei problemi.

Se l'SDK implementa questo adattatore nello stesso binario, puoi restituire la stessa versione sia per l'adattatore sia per l'SDK.

L'esempio seguente restituisce la versione dell'adattatore di indicatori sicuri:

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

L'esempio seguente restituisce la versione dell'SDK con cui interagisce l'adattatore di indicatori sicuri:

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

Sostituisci SDK_VERSION_STRING con la stringa della versione dell'SDK.

Raccogliere indicatori

A ogni richiesta di annunci, Google Mobile Ads SDK raccoglie contemporaneamente gli indicatori da tutti gli adattatori su un thread in background.

L'esempio seguente raccoglie e restituisce gli indicatori a Google Mobile Ads SDK chiamando il metodo SignalCallbacks.onSuccess():

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

Sostituisci SAMPLE_SIGNAL_PLACEHOLDER con la stringa dell'indicatore sicuro.

La raccolta degli indicatori deve essere completata entro un secondo. Se la raccolta degli indicatori richiede più di un secondo, valuta la possibilità di memorizzare nella cache gli indicatori nell'adattatore di indicatori sicuri o nell'SDK quando inizializzi l'adattatore.

Se l'adattatore di indicatori sicuri non riesce a raccogliere gli indicatori, passa un errore al metodo signalCallbacks.onFailure().

Offuscare gli indicatori

Quando condividi indicatori sicuri con gli offerenti e i partner di selezione, devi offuscarli.