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

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. לאחר מכן, משנים רק את קריאות החזרה (callbacks) שחשובות לכם.

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