מודעות וידאו מותאמות

MediaContent

מודעות מותאמות מספקות גישה לאובייקט MediaContent שמשמש לאיסוף מידע על תוכן מדיה, שיכול להיות וידאו או תמונה. הוא משמש גם לצורך בקרה על ההפעלה של מודעות הווידאו ולזיהוי אירועי הפעלה. אפשר לקבל את האובייקט MediaContent באמצעות קריאה ל-NativeAd.getMediaContent().

האובייקט MediaContent מכיל מידע כמו יחס גובה-רוחב ומשך הסרטון. בקטע הקוד הבא מוסבר איך לקבל את יחס הגובה-רוחב ואת משך הזמן של מודעה רגילה.

Kotlin

if (myNativeAd.mediaContent.hasVideoContent) {
  val mediaAspectRatio: Float = myNativeAd.mediaContent.aspectRatio
  val duration: Float = myNativeAd.mediaContent.duration
  // ...
}

Java

if (myNativeAd.getMediaContent().getHasVideoContent()) {
  float mediaAspectRatio = myNativeAd.getMediaContent().getAspectRatio();
  float duration = myNativeAd.getMediaContent().getDuration();
  // ...
}

קריאות חוזרות לאירועי וידאו

כדי לטפל באירועי וידאו ספציפיים, כותבים מחלקה שמרחיבה את המחלקה המופשטת VideoLifecycleCallbacks ומפעילים את setVideoLifecycleCallbacks() על ה-VideoController. לאחר מכן, משנים רק את קריאות ה-back-call שחשובות לכם.

Kotlin

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

Java

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");
  }
});