Нативная видеореклама

МедиаКонтент

Нативные объявления предоставляют доступ к объекту MediaContent , который используется для получения информации о медиаконтенте, которым может быть видео или изображение. Он также используется для управления воспроизведением видеорекламы и прослушивания событий воспроизведения. Вы можете получить объект MediaContent , вызвав NativeAd.getMediaContent() .

Объект MediaContent содержит такую ​​информацию, как соотношение сторон и продолжительность видео. В следующем фрагменте показано, как получить соотношение сторон и продолжительность нативного объявления.

Котлин

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 . Затем переопределите только те обратные вызовы, которые вам нужны.

Котлин

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

МедиаКонтент

Нативные объявления предоставляют доступ к объекту MediaContent , который используется для получения информации о медиаконтенте, которым может быть видео или изображение. Он также используется для управления воспроизведением видеорекламы и прослушивания событий воспроизведения. Вы можете получить объект MediaContent , вызвав NativeAd.getMediaContent() .

Объект MediaContent содержит такую ​​информацию, как соотношение сторон и продолжительность видео. В следующем фрагменте показано, как получить соотношение сторон и продолжительность нативного объявления.

Котлин

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 . Затем переопределите только те обратные вызовы, которые вам нужны.

Котлин

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