محتوای رسانهای
تبلیغات بومی دسترسی به یک شیءMediaContent را فراهم میکنند که برای دریافت اطلاعات در مورد محتوای رسانه، که میتواند ویدیو یا تصویر باشد، استفاده میشود. همچنین برای کنترل پخش تبلیغات ویدیویی و گوش دادن به رویدادهای پخش استفاده میشود. میتوانید شیء MediaContent را با فراخوانی NativeAd.getMediaContent() دریافت کنید. شیء 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