MediaContent
Quảng cáo gốc và định dạng quảng cáo gốc tuỳ chỉnh cung cấp quyền truy cập vào mộtMediaContent
đối tượng dùng để lấy thông tin về nội dung đa phương tiện, có thể là
hoặc hình ảnh. Mã này cũng được dùng để kiểm soát quá trình phát quảng cáo dạng video và nghe
các sự kiện phát. Bạn có thể lấy đối tượng MediaContent
bằng cách gọi
NativeAd.getMediaContent()
.
Đối tượng MediaContent
chứa các thông tin như tỷ lệ khung hình và
thời lượng của video. Đoạn mã sau đây cho biết cách lấy tỷ lệ khung hình và
thời lượng của quảng cáo gốc.
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()
...
}
Lệnh gọi lại cho sự kiện video
Để xử lý các sự kiện video cụ thể, hãy viết một lớp mở rộng lớp trừu tượng
VideoLifecycleCallbacks
lớp và gọi
setVideoLifecycleCallbacks()
vào VideoController
. Sau đó, chỉ ghi đè các lệnh gọi lại mà bạn quan tâm.
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")
}
}