MediaContent
Les annonces natives donnent accès à unMediaContent
objet qui permet d'obtenir des informations sur le contenu média, qui peut être une
vidéo ou une image. Il permet également de contrôler la lecture des annonces vidéo et d'é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 classe, puis appelez
setVideoLifecycleCallbacks()
sur le 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