ویدیوهای تبلیغاتی بومی

محتوای رسانه‌ای

تبلیغات بومی دسترسی به یک شیء 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