この機能を使用するにはv3.8.0以降のSDKが必要です
本SDKを用いてアウトストリーム動画広告の配信を行うことができます。
基本的な流れは 動画広告への対応 と同様になります。初めて動画広告を導入される場合はまずこちらをご覧ください。
広告取得用クラスが異なり、レスポンスに付帯情報がないなどの違いがあります。
すでにインフィードでの動画広告を利用している場合は追加の依存ライブラリはありません。
初めて動画広告を利用する場合は、 rfp-video-sdk
および ExoPlayer を追加する必要があります。
詳しくは インストールガイド をご確認ください。
動画広告表示したい任意の位置に VideoAdView
を配置してください。
<android.support.constraint.ConstraintLayout>
<!-- ... ... -->
<jp.fout.rfp.android.sdk.video.VideoAdView
android:id="@+id/ad_video"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<!-- ... ... -->
</android.support.constraint.ConstraintLayout>
インストリーム広告同様、SDKの初期化処理を呼ぶ必要があります。
RFP.init(context, "YOUR_MEDIA_ID")
RFPOutstreamVideoAdLoader
を用いて広告を取得します。
val loader = RFPOutstreamVideoAdLoader.Builder("AD_SPOT_ID")
.onSuccess { item ->
//
}
.onFailure { message ->
Log.d(TAG, "Fail to load outstream video ad: $message")
//
}
.build()
loader.loadAd(context)
SDK v3.8.4からカスタムパラメータの送信に対応しました。
(カスタムパラメータの詳細は担当者にお問い合わせください)
RFPOutstreamVideoAdLoader.Builder#data()
でパラメータを指定することができます。
val loader = RFPOutstreamVideoAdLoader.Builder(spotId)
.count(count)
.positions(positions)
// 個別に設定
.data("key1", "xyzzy")
.data("key2", arrayOf("foo", "bar", "baz"))
// または Bundle で一括
// .data(bundleOf("key1" to "xyzzy", "key2" to arrayOf("foo", "bar", "baz")))
.build()
loader.loadAd(context)
VideoAdView#processAd()
を呼んで配置したビューに動画を再生させます。
RFPOutstreamVideoAdLoader
の onSuccess
時に呼び出します。
val loader = RFPOutstreamVideoAdLoader.Builder("AD_SPOT_ID")
.onSuccess { item ->
ad_video.processAd(item)
}
// ... ...