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

Ce guide explique comment intégrer des formats personnalisés d'annonces natives avec Open Measurement.

Prérequis

Avant de continuer, procédez comme suit :

Intégration

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

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

Charger une annonce

Le chargement d'une annonce est le même, que vous utilisiez Open Measurement ou non. Voici une méthode qui explique 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 votre ID de bloc d'annonces et votre ID de modèle personnalisé.

Enregistrer votre vue et commencer la mesure

Pour activer Open Measurement sur une annonce native personnalisée, affichez d'abord 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, et les appels suivants 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 la section Formats personnalisés d'annonces natives.

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

Obtenir la certification de l'IAB

Une fois que vous aurez publié votre application, 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.