Annonces vidéo natives

Sélectionnez une plate-forme : Android iOS

MediaContent

Les annonces natives et les formats d'annonces natives personnalisés donnent accès à un objet MediaContent utilisé pour obtenir des informations sur le contenu multimédia, qui peut être une vidéo ou une image. Il est également utilisé pour contrôler la lecture des annonces vidéo et écouter les événements de lecture. Vous pouvez obtenir l'objet MediaContent en appelant NativeAd.getMediaContent().

L'objet MediaContent contient des informations telles que le format et la durée d'une vidéo. L'extrait suivant montre comment obtenir le format et la durée d'une annonce native.

Java

if (nativeAd.getMediaContent() != null) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  float mediaAspectRatio = mediaContent.getAspectRatio();
  if (mediaContent.hasVideoContent()) {
    float duration = mediaContent.getDuration();
  }
}

Kotlin

nativeAd.mediaContent?.let { mediaContent ->
  val mediaAspectRatio: Float = mediaContent.aspectRatio
  if (mediaContent.hasVideoContent()) {
    val duration: Float = mediaContent.duration
  }
}

Rappels pour les événements vidéo

Pour gérer des événements vidéo spécifiques, écrivez une classe qui étend la classe abstraite VideoLifecycleCallbacks et appelez setVideoLifecycleCallbacks() sur VideoController. Ensuite, remplacez uniquement les rappels qui vous intéressent.

Java

if (nativeAd.getMediaContent() != null) {
  VideoController videoController = nativeAd.getMediaContent().getVideoController();
  if (videoController != null) {
    videoController.setVideoLifecycleCallbacks(
        new VideoController.VideoLifecycleCallbacks() {
          @Override
          public void onVideoStart() {
            Log.d(TAG, "Video started.");
          }

          @Override
          public void onVideoPlay() {
            Log.d(TAG, "Video played.");
          }

          @Override
          public void onVideoPause() {
            Log.d(TAG, "Video paused.");
          }

          @Override
          public void onVideoEnd() {
            Log.d(TAG, "Video ended.");
          }

          @Override
          public void onVideoMute(boolean isMuted) {
            Log.d(TAG, "Video isMuted: " + isMuted + ".");
          }
        });
  }
}

Kotlin

val videoLifecycleCallbacks =
  object : VideoController.VideoLifecycleCallbacks() {
    override fun onVideoStart() {
      Log.d(TAG, "Video started.")
    }

    override fun onVideoPlay() {
      Log.d(TAG, "Video played.")
    }

    override fun onVideoPause() {
      Log.d(TAG, "Video paused.")
    }

    override fun onVideoEnd() {
      Log.d(TAG, "Video ended.")
    }

    override fun onVideoMute(isMuted: Boolean) {
      Log.d(TAG, "Video isMuted: $isMuted.")
    }
  }
nativeAd.mediaContent?.videoController?.videoLifecycleCallbacks = videoLifecycleCallbacks