MediaContent
تبلیغات بومی دسترسی به یک شیMediaContent
را فراهم می کند که برای دریافت اطلاعات در مورد محتوای رسانه، که می تواند ویدیو یا تصویر باشد، استفاده می شود. همچنین برای کنترل پخش آگهی ویدیویی و گوش دادن به رویدادهای پخش استفاده می شود. می توانید با فراخوانی NativeAd.getMediaContent()
شی MediaContent
را بدست آورید. شی MediaContent
حاوی اطلاعاتی مانند نسبت ابعاد و مدت یک ویدیو است. قطعه زیر نشان می دهد که چگونه نسبت ابعاد و مدت زمان یک تبلیغ بومی را بدست آوریم.
جاوا
if (nativeAd.getMediaContent() != null) {
MediaContent mediaContent = nativeAd.getMediaContent();
float mediaAspectRatio = mediaContent.getAspectRatio();
if (mediaContent.hasVideoContent()) {
float duration = mediaContent.getDuration();
}
}
کاتلین
nativeAd.mediaContent?.let { mediaContent ->
val mediaAspectRatio: Float = mediaContent.aspectRatio
if (mediaContent.hasVideoContent()) {
val duration: Float = mediaContent.duration
}
}
پاسخ به تماس برای رویدادهای ویدیویی
برای مدیریت رویدادهای ویدیویی خاص، کلاسی بنویسید که کلاس VideoLifecycleCallbacks
انتزاعی را گسترش دهد و setVideoLifecycleCallbacks()
در VideoController
فراخوانی کنید. سپس، فقط تماسهایی را که برایتان مهم هستند لغو کنید.
جاوا
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 + ".");
}
});
}
}
کاتلین
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