Formats d'annonces natives personnalisés de type display et Open Measurement

Ce guide explique comment intégrer des formats d'annonces natives personnalisés avec la mesure ouverte.

Prérequis

Avant de continuer, procédez comme suit :

Intégration

Si vous prévoyez d'utiliser Open Measurement avec des formats d'annonces natives personnalisés qui ne contiennent pas de composant vidéo, vous devrez appeler vous-même les API Open Measurement.

Si vous utilisez des formats d'annonces natives personnalisés avec un élément vidéo, vous n'avez pas besoin de suivre ce guide. Le SDK Mobile Ads suit la visibilité de l'élément vidéo pour vous.

Charger une annonce

Le chargement d'une annonce est le même, que vous utilisiez ou non la mesure ouverte. Voici une méthode qui montre comment demander une annonce native personnalisée :

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

Remplacez AD_UNIT_ID et CUSTOM_TEMPLATE_ID par l'ID de votre bloc d'annonces et l'ID de votre modèle personnalisé.

Enregistrer votre vue et commencer à mesurer

Pour activer la mesure ouverte sur une annonce native personnalisée, commencez par afficher l'annonce, puis enregistrez votre vue d'annonce personnalisée avec l'objet DisplayOpenMeasurement associé à l'annonce native personnalisée. L'objet DisplayOpenMeasurement fournit la méthode setView() pour enregistrer votre vue de conteneur avec Open Measurement.

Vous devez également indiquer explicitement au SDK de commencer à mesurer votre annonce. Pour ce faire, appelez la méthode start() sur l'objet DisplayOpenMeasurement de votre annonce native personnalisée. La méthode start() doit être appelée à partir du thread principal. Les appels ultérieurs n'ont aucun effet.

En voici un aperçu :

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

Notez que vous devez afficher votre annonce avant d'enregistrer votre vue. L'affichage de votre annonce est abordé dans Formats personnalisés d'annonces natives.

La mise en page customTemplateAdFrame est le conteneur d'annonces pour l'annonce native personnalisée. Elle doit contenir tous les composants dans le cadre de sélection de la vue.

Certification avec l'IAB

Une fois votre application publiée, vous commencerez à recevoir des données de mesure. Toutefois, vos données ne seront certifiées que lorsque vous aurez terminé le processus de certification de l'IAB.