Formatos personalizados de anuncios nativos de tipo de visualización y Open Measurement

En esta guía, se explica cómo integrar formatos de anuncios nativos personalizados con Open Measurement.

Requisitos previos

Antes de continuar, haz lo siguiente:

Integración

Si planeas usar Open Measurement con formatos de anuncios nativos personalizados que no contengan un recurso de video, serás responsable de llamar a las APIs de Open Measurement.

Si usas formatos de anuncios nativos personalizados con un recurso de video, no es necesario que sigas esta guía. El SDK de anuncios para dispositivos móviles hace un seguimiento de la visibilidad del recurso de video en tu nombre.

Carga un anuncio

La carga de un anuncio es la misma, ya sea que uses Open Measurement o no. Este es un método que muestra cómo solicitar un anuncio nativo personalizado:

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

Reemplaza AD_UNIT_ID y CUSTOM_TEMPLATE_ID por tu ID de unidad de anuncios y tu ID de plantilla personalizada.

Registra tu vista y comienza a medir

Para habilitar Open Measurement en un anuncio nativo personalizado, primero muestra el anuncio y, luego, registra tu vista de anuncio personalizado con el objeto DisplayOpenMeasurement asociado al anuncio nativo personalizado. El objeto DisplayOpenMeasurement proporciona el método setView() para registrar tu vista de contenedor con Open Measurement.

También debes indicarle explícitamente al SDK que comience a medir tu anuncio. Para ello, llama al método start() en el objeto DisplayOpenMeasurement de tu anuncio nativo personalizado. Se debe llamar al método start() desde el subproceso principal, y las llamadas posteriores no tienen ningún efecto.

A continuación, le mostramos cómo se ve:

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

Ten en cuenta que debes mostrar tu anuncio antes de registrar tu vista. La visualización de tu anuncio se explica en Formatos de anuncios nativos personalizados.

El diseño customTemplateAdFrame es el contenedor de anuncios para el anuncio nativo personalizado y debe contener todos los recursos dentro del cuadro delimitador de la vista.

Obtén la certificación de IAB

Una vez que publiques tu app, comenzarás a recibir datos de medición. Sin embargo, tus datos no se certificarán hasta que completes el proceso de certificación de IAB.