MediaContent
네이티브 광고를 사용하면 미디어 콘텐츠(동영상 또는 이미지일 수 있음)에 관한 정보를 가져오는 데 사용되는MediaContent
객체에 액세스할 수 있습니다. 또한 동영상 광고 재생을 관리하고 재생 이벤트를 수신하는 데도 사용됩니다. NativeAd.getMediaContent()
를 호출하여 MediaContent
객체를 얻을 수 있습니다.
MediaContent
객체에는 동영상의 가로세로 비율 및 재생 시간과 같은 정보가 포함되어 있습니다. 다음 스니펫은 네이티브 광고의 가로세로 비율과 재생 시간을 확인하는 방법을 보여줍니다.
자바
if (myNativeAd.getMediaContent().hasVideoContent()) {
float mediaAspectRatio = myNativeAd.getMediaContent().getAspectRatio();
float duration = myNativeAd.getMediaContent().getDuration();
...
}
Kotlin
if (myNativeAd.getMediaContent().hasVideoContent()) {
val mediaAspectRatio: Float = myNativeAd.getMediaContent().getAspectRatio()
val duration: Float = myNativeAd.getMediaContent().getDuration()
...
}
동영상 이벤트 콜백
특정 동영상 이벤트를 처리하려면 추상 VideoLifecycleCallbacks
클래스를 확장하는 클래스를 작성하고 VideoController
에서 setVideoLifecycleCallbacks()
를 호출합니다. 그런 다음 관심 있는 콜백만 재정의합니다.
자바
myNativeAd.getMediaContent().getVideoController()
.setVideoLifecycleCallbacks(new VideoLifecycleCallbacks() {
/** Called when video playback first begins. */
@Override
public void onVideoStart() {
// Do something when the video starts the first time.
Log.d("MyApp", "Video Started");
}
/** Called when video playback is playing. */
@Override
public void onVideoPlay() {
// Do something when the video plays.
Log.d("MyApp", "Video Played");
}
/** Called when video playback is paused. */
@Override
public void onVideoPause() {
// Do something when the video pauses.
Log.d("MyApp", "Video Paused");
}
/** Called when video playback finishes playing. */
@Override
public void onVideoEnd() {
// Do something when the video ends.
Log.d("MyApp", "Video Ended");
}
/** Called when the video changes mute state. */
@Override
public void onVideoMute(boolean isMuted) {
// Do something when the video is muted.
Log.d("MyApp", "Video Muted");
}
});
Kotlin
myNativeAd.getMediaContent().getVideoController().setVideoLifecycleCallbacks {
/** Called when video playback first begins. */
override fun onVideoStart() {
// Do something when the video starts the first time.
Log.d("MyApp", "Video Started")
}
/** Called when video playback is playing. */
override fun onVideoPlay() {
// Do something when the video plays.
Log.d("MyApp", "Video Played")
}
/** Called when video playback is paused. */
override fun onVideoPause() {
// Do something when the video pauses.
Log.d("MyApp", "Video Paused")
}
/** Called when video playback finishes playing. */
override fun onVideoEnd() {
// Do something when the video ends.
Log.d("MyApp", "Video Ended")
}
/** Called when the video changes mute state. */
override fun onVideoMute(boolean isMuted) {
// Do something when the video is muted.
Log.d("MyApp", "Video Muted")
}
}