アウトストリーム動画広告

この機能を使用するには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() を呼んで配置したビューに動画を再生させます。

RFPOutstreamVideoAdLoaderonSuccess 時に呼び出します。

val loader = RFPOutstreamVideoAdLoader.Builder("AD_SPOT_ID")
        .onSuccess { item ->
            ad_video.processAd(item)
        }
        // ... ...