MediaContent
โฆษณาเนทีฟและรูปแบบโฆษณาเนทีฟที่กำหนดเอง ให้สิทธิ์เข้าถึงออบเจ็กต์MediaContent
ที่ใช้เพื่อรับข้อมูลเกี่ยวกับเนื้อหาสื่อ ซึ่งอาจเป็น
วิดีโอหรือรูปภาพ นอกจากนี้ยังใช้เพื่อควบคุมการเล่นโฆษณาวิดีโอและฟัง
เหตุการณ์การเล่นด้วย คุณรับออบเจ็กต์ MediaContent
ได้โดยการเรียกใช้
NativeAd.getMediaContent()
ออบเจ็กต์ MediaContent
มีข้อมูล เช่น สัดส่วนภาพและ
ระยะเวลาของวิดีโอ ข้อมูลโค้ดต่อไปนี้แสดงวิธีรับสัดส่วนภาพและระยะเวลาของโฆษณาเนทีฟ
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
}
}
Callback สำหรับเหตุการณ์วิดีโอ
หากต้องการจัดการเหตุการณ์วิดีโอที่เฉพาะเจาะจง ให้เขียนคลาสที่ขยายคลาส VideoLifecycleCallbacks
แบบนามธรรม แล้วเรียกใช้ setVideoLifecycleCallbacks()
ใน VideoController
จากนั้น ให้ลบล้างเฉพาะการเรียกกลับที่คุณสนใจ
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