네이티브 동영상 광고

플랫폼 선택: Android iOS

MediaContent

네이티브 광고를 사용하면 미디어 콘텐츠(동영상 또는 이미지일 수 있음)에 관한 정보를 가져오는 데 사용되는 MediaContent 객체에 액세스할 수 있습니다. 네이티브 광고는 동영상 광고 재생을 관리하고 재생 이벤트를 수신하는 데도 사용됩니다. NativeAd.getMediaContent()를 호출하여 MediaContent 객체를 얻을 수 있습니다.

MediaContent 객체에는 동영상의 가로세로 비율 및 재생 시간과 같은 정보가 포함되어 있습니다. 다음 스니펫에서는 네이티브 광고의 가로세로 비율과 재생 시간을 확인하는 방법을 보여줍니다.

Java

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 클래스를 확장하는 클래스를 작성하고 VideoController에서 setVideoLifecycleCallbacks()를 호출합니다. 그런 다음 관심 있는 콜백만 재정의합니다.

Java

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