MediaContent
原生廣告會提供MediaContent
物件存取權,用於取得媒體內容 (可能是影片或圖片) 的相關資訊。也用於控制影片廣告播放,並監聽播放事件。您可以呼叫 NativeAd.getMediaContent()
取得 MediaContent
物件。
MediaContent
物件包含影片的顯示比例和長度等資訊。下列程式碼片段顯示如何取得原生廣告的顯示比例和時間長度。
Kotlin
if (myNativeAd.mediaContent.hasVideoContent) {
val mediaAspectRatio: Float = myNativeAd.mediaContent.aspectRatio
val duration: Float = myNativeAd.mediaContent.duration
// ...
}
Java
if (myNativeAd.getMediaContent().getHasVideoContent()) {
float mediaAspectRatio = myNativeAd.getMediaContent().getAspectRatio();
float duration = myNativeAd.getMediaContent().getDuration();
// ...
}
影片事件的回呼
如要處理特定影片事件,請編寫可擴充抽象 VideoLifecycleCallbacks
類別的類別,並在 VideoController
上呼叫 setVideoLifecycleCallbacks()
。然後只覆寫您在意的回呼。
Kotlin
val videoController = myNativeAd.mediaContent.videoController
videoController.videoLifecycleCallbacks = object : VideoController.VideoLifecycleCallbacks {
override fun onVideoStart() {
Log.d("MyApp", "Video Started")
}
override fun onVideoPlay() {
Log.d("MyApp", "Video Played")
}
override fun onVideoPause() {
Log.d("MyApp", "Video Paused")
}
override fun onVideoEnd() {
Log.d("MyApp", "Video Ended")
}
override fun onVideoMute(boolean isMuted) {
Log.d("MyApp", "Video Muted")
}
}
Java
VideoController videoController = myNativeAd.getMediaContent().getVideoController();
videoController.setVideoLifecycleCallbacks(new VideoLifecycleCallbacks() {
@Override
public void onVideoStart() {
Log.d("MyApp", "Video Started");
}
@Override
public void onVideoPlay() {
Log.d("MyApp", "Video Played");
}
@Override
public void onVideoPause() {
Log.d("MyApp", "Video Paused");
}
@Override
public void onVideoEnd() {
Log.d("MyApp", "Video Ended");
}
@Override
public void onVideoMute(boolean isMuted) {
Log.d("MyApp", "Video Muted");
}
});