Formati degli annunci nativi personalizzati di tipo display e Open Measurement

Questa guida spiega come integrare i formati degli annunci nativi personalizzati con la misurazione aperta.

Prerequisiti

Prima di continuare, esegui le seguenti operazioni:

Integrazione

Se prevedi di utilizzare Open Measurement con formati degli annunci nativi personalizzati che non contengono un asset video, dovrai chiamare tu stesso le API Open Measurement.

Se utilizzi formati di annunci nativi personalizzati con una risorsa video, non devi seguire questa guida. L'SDK Mobile Ads monitora la visibilità della risorsa video per tuo conto.

Caricare un annuncio

Il caricamento di un annuncio è lo stesso, indipendentemente dal fatto che tu utilizzi o meno la misurazione aperta. Ecco un metodo che mostra come richiedere un annuncio nativo personalizzato:

Java

private void loadCustomNativeAd(Context context, ViewGroup nativeCustomFormatAdContainer) {

  AdLoader adLoader =
      new AdLoader.Builder(context, "AD_UNIT_ID")
          .forCustomFormatAd(
              "CUSTOM_TEMPLATE_ID",
              new NativeCustomFormatAd.OnCustomFormatAdLoadedListener() {
                @Override
                public void onCustomFormatAdLoaded(@NonNull NativeCustomFormatAd ad) {
                  // Show the ad first and then register your view and begin open measurement.
                  // Make sure to do this on the main thread.

                  // ...
                  // Show ad
                  // ...

                  startOpenMeasurement(ad, nativeCustomFormatAdContainer);
                }
              },
              new NativeCustomFormatAd.OnCustomClickListener() {
                @Override
                public void onCustomClick(NativeCustomFormatAd ad, String assetName) {
                  // Handle the click action
                }
              })
          .build();
  adLoader.loadAd(new AdRequest.Builder().build());
}

Kotlin

private fun loadCustomNativeAd(context: Context, nativeCustomFormatAdContainer: ViewGroup) {
  val adLoader =
    AdLoader.Builder(context, "AD_UNIT_ID")
      .forCustomFormatAd(
        "CUSTOM_TEMPLATE_ID",
        NativeCustomFormatAd.OnCustomFormatAdLoadedListener { ad ->
          // Show the ad first and then register your view and begin open measurement. Make sure
          // to do this on the main thread.

          // ...
          // Show ad
          // ...

          startOpenMeasurement(ad, nativeCustomFormatAdContainer)
        },
        NativeCustomFormatAd.OnCustomClickListener { ad, assetName ->
          // Handle the click action.
        },
      )
      .build()

  adLoader.loadAd(AdRequest.Builder().build())
}

Sostituisci AD_UNIT_ID e CUSTOM_TEMPLATE_ID con l'ID unità pubblicitaria e l'ID modello personalizzato.

Registra la tua visualizzazione e inizia la misurazione

Per attivare la misurazione aperta su un annuncio nativo personalizzato, visualizza prima l'annuncio, quindi registra la visualizzazione dell'annuncio personalizzato con l'oggetto DisplayOpenMeasurement associato all'annuncio nativo personalizzato. L'oggetto DisplayOpenMeasurement fornisce il metodo setView() per registrare la visualizzazione del contenitore con Open Measurement.

Devi anche indicare esplicitamente all'SDK di iniziare a misurare il tuo annuncio. Per farlo, chiama il metodo start() sull'oggetto DisplayOpenMeasurement del tuo annuncio nativo personalizzato. Il metodo start() deve essere chiamato dal thread principale e le chiamate successive non hanno effetto.

Ecco che aspetto ha:

Java

private void startOpenMeasurement(
    NativeCustomFormatAd ad, ViewGroup nativeCustomFormatAdContainer) {
  DisplayOpenMeasurement displayOpenMeasurement = ad.getDisplayOpenMeasurement();
  if (displayOpenMeasurement != null) {
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer);
    displayOpenMeasurement.start();
  }
}

Kotlin

private fun startOpenMeasurement(
  ad: NativeCustomFormatAd,
  nativeCustomFormatAdContainer: ViewGroup,
) {
  ad.getDisplayOpenMeasurement()?.let { displayOpenMeasurement ->
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer)
    displayOpenMeasurement.start()
  }
}

Tieni presente che devi visualizzare l'annuncio prima di registrare la visualizzazione. La visualizzazione del tuo annuncio è trattata in Formati degli annunci nativi personalizzati.

Il customTemplateAdFrame layout è il contenitore dell'annuncio nativo personalizzato e deve contenere tutti gli asset all'interno del riquadro di selezione della visualizzazione.

Certificazione IAB

Una volta rilasciata l'app, inizierai a ricevere i dati di misurazione. Tuttavia, i tuoi dati non verranno certificati finché non avrai completato la procedura di certificazione IAB.