إعلانات الفيديو المدمجة مع المحتوى

MediaContent

توفّر الإعلانات المدمجة مع المحتوى إمكانية الوصول إلى عنصر MediaContent يُستخدَم للحصول على معلومات عن محتوى الوسائط، والذي يمكن أن يكون فيديو أو صورة. ويُستخدَم أيضًا للتحكّم في تشغيل الإعلانات المتضمّنة فيديوهات والاستماع إلى أحداث التشغيل. يمكنك الحصول على عنصر MediaContent من خلال الاتصال بالرقم التالي: NativeAd.getMediaContent().

يحتوي عنصر MediaContent على معلومات، مثل نسبة العرض إلى الارتفاع و مدة الفيديو. يوضّح المقتطف التالي كيفية الحصول على نسبة العرض إلى الارتفاع و مدة إعلان مضمّن.

KotlinJava
if (myNativeAd.mediaContent.hasVideoContent) {
  val mediaAspectRatio: Float = myNativeAd.mediaContent.aspectRatio
  val duration: Float = myNativeAd.mediaContent.duration
  // ...
}
if (myNativeAd.getMediaContent().getHasVideoContent()) {
  float mediaAspectRatio = myNativeAd.getMediaContent().getAspectRatio();
  float duration = myNativeAd.getMediaContent().getDuration();
  // ...
}

عمليات معاودة الاتصال لأحداث الفيديو

لمعالجة أحداث فيديو معيّنة، اكتب فئة تمتد من فئة VideoLifecycleCallbacks المجردة، وادعِع setVideoLifecycleCallbacks() في VideoController. بعد ذلك، يمكنك إلغاء عمليات تسجيل المكالمات التي تهمّك فقط.

KotlinJava
val videoController = myNativeAd.mediaContent.videoController
videoController.videoLifecycleCallbacks = object : VideoController.VideoLifecycleCallbacks {
  override fun onVideoStart() {
    Log.d("MyApp", "Video Started")
  }

  override fun onVideoPlay() {
    Log.d("MyApp", "Video Played")
  }

  override fun onVideoPause() {
    Log.d("MyApp", "Video Paused")
  }

  override fun onVideoEnd() {
    Log.d("MyApp", "Video Ended")
  }

  override fun onVideoMute(boolean isMuted) {
    Log.d("MyApp", "Video Muted")
  }
}
VideoController videoController = myNativeAd.getMediaContent().getVideoController();
videoController.setVideoLifecycleCallbacks(new VideoLifecycleCallbacks() {
  @Override
  public void onVideoStart() {
    Log.d("MyApp", "Video Started");
  }

  @Override
  public void onVideoPlay() {
    Log.d("MyApp", "Video Played");
  }

  @Override
  public void onVideoPause() {
    Log.d("MyApp", "Video Paused");
  }

  @Override
  public void onVideoEnd() {
    Log.d("MyApp", "Video Ended");
  }

  @Override
  public void onVideoMute(boolean isMuted) {
    Log.d("MyApp", "Video Muted");
  }
});