MediaContent
Les annonces natives et les formats d'annonces natives personnalisés donnent accès à un objetMediaContent
qui permet d'obtenir des informations sur le contenu multimé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 de code suivant montre comment obtenir le format et la durée d'une annonce native.
Java
if (myNativeAd.getMediaContent().hasVideoContent()) {
float mediaAspectRatio = myNativeAd.getMediaContent().getAspectRatio();
float duration = myNativeAd.getMediaContent().getDuration();
...
}
Kotlin
if (myNativeAd.getMediaContent().hasVideoContent()) {
val mediaAspectRatio: Float = myNativeAd.getMediaContent().getAspectRatio()
val duration: Float = myNativeAd.getMediaContent().getDuration()
...
}
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
, puis appelez setVideoLifecycleCallbacks()
sur VideoController
. Ensuite, ne remplacez que les rappels qui vous intéressent.
Java
myNativeAd.getMediaContent().getVideoController()
.setVideoLifecycleCallbacks(new VideoLifecycleCallbacks() {
/** Called when video playback first begins. */
@Override
public void onVideoStart() {
// Do something when the video starts the first time.
Log.d("MyApp", "Video Started");
}
/** Called when video playback is playing. */
@Override
public void onVideoPlay() {
// Do something when the video plays.
Log.d("MyApp", "Video Played");
}
/** Called when video playback is paused. */
@Override
public void onVideoPause() {
// Do something when the video pauses.
Log.d("MyApp", "Video Paused");
}
/** Called when video playback finishes playing. */
@Override
public void onVideoEnd() {
// Do something when the video ends.
Log.d("MyApp", "Video Ended");
}
/** Called when the video changes mute state. */
@Override
public void onVideoMute(boolean isMuted) {
// Do something when the video is muted.
Log.d("MyApp", "Video Muted");
}
});
Kotlin
myNativeAd.getMediaContent().getVideoController().setVideoLifecycleCallbacks {
/** Called when video playback first begins. */
override fun onVideoStart() {
// Do something when the video starts the first time.
Log.d("MyApp", "Video Started")
}
/** Called when video playback is playing. */
override fun onVideoPlay() {
// Do something when the video plays.
Log.d("MyApp", "Video Played")
}
/** Called when video playback is paused. */
override fun onVideoPause() {
// Do something when the video pauses.
Log.d("MyApp", "Video Paused")
}
/** Called when video playback finishes playing. */
override fun onVideoEnd() {
// Do something when the video ends.
Log.d("MyApp", "Video Ended")
}
/** Called when the video changes mute state. */
override fun onVideoMute(boolean isMuted) {
// Do something when the video is muted.
Log.d("MyApp", "Video Muted")
}
}