ویدیوهای آگهی بومی

پلاتفرم را انتخاب کنید: Android iOS Android (قدیمی)

MediaContent

آگهی‌های بومی دسترسی به شیء MediaContent را فراهم می‌کنند که برای دریافت اطلاعات درباره محتوای رسانه‌ای، که می‌تواند ویدیو یا تصویر باشد، استفاده می‌شود. همچنین برای کنترل بازپخش آگهی ویدیویی و گوش دادن به رویدادهای بازپخش استفاده می‌شود. می‌توانید شیء MediaContent را با فراخوانی NativeAd.getMediaContent() دریافت کنید.

شیء MediaContent حاوی اطلاعاتی مانند نسبت ابعادی و مدت ویدیو است. قطعه کد زیر نحوه دریافت نسبت ابعادی و مدت آگهی بومی را نشان می‌دهد.

جاوا

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
  }
}

فراخوانی‌های برگشتی برای رویدادهای ویدیویی

برای رسیدگی به رویدادهای ویدیویی خاص، کلاسی بنویسید که کلاس انتزاعی 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 + ".");
          }
        });
  }
}

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