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
クラスを拡張するクラスを作成し、VideoController
で setVideoLifecycleCallbacks()
を呼び出します。次に、目的のコールバックのみをオーバーライドします。
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");
}
});