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

この機能を使用するにはv2.10.0以降のSDKが必要です

アウトストリーム動画広告の配信

本SDKを用いてアウトストリーム動画広告の配信を行うことができます。

実装

基本的な流れは 動画広告への対応 と同様になります。初めて動画広告を導入される場合はまずこちらをご覧ください。

デモアプリにてサンプル実装を公開しておりますので、あわせてご覧ください。

初期化処理

インストリーム広告同様、SDKの初期化処理を行ないます。

Videoキャッシュ機能の設定は初期化処理の前におこなってください。

// 現在の設定を取得
let size = RFP.rfpGetVideoCacheSize()

// videoキャッシュを100MBに設定
RFP.rfpSetVideoCacheSize(100);

// videoキャッシュを無効にする
RFP.rfpSetVideoCacheSize(0);

// ※ rfpSetVideoCacheSizeは必ずrfpInitMediaの前に設定をしてください
RFP.rfpInitMedia("your_media_id")

Delegateの準備

Delegateメソッドにより、動画プレイヤーの取得などを行ないます。

class ViewController: UIViewController
    , RFPOutstreamVideoAdLoaderDelegate {

    // MARK: RFPOutstreamVideoAdLoaderDelegate

    open func didStartLoadingAd(_ loader: RFPOutstreamVideoAdLoader!) {
        // 動画広告取得開始
    }

    open func didFinishLoadingAd(_ outstreamAdLoader: RFPOutstreamVideoAdLoader!) {
        // 動画広告取得完了
    }

    open func didFailLoadingAd(_ outstreamAdLoader: RFPOutstreamVideoAdLoader!, withError error:Error!) {
        // 動画広告取得失敗
    }

    open func readyToPlay(with playerControl: RFPPlayerControl!) {
        // 動画広告再生準備完了
    }

    open func didPlayToEndTime(with playerControl: RFPPlayerControl!) {
        // 動画広告再生終了
    }
}

動画広告の取得

RFPOutstreamVideoAdLoader を用いて広告を取得します。

class ViewController: UIViewController
    , RFPOutstreamVideoAdLoaderDelegate {
    // loader初期化
    let loader = RFPOutstreamVideoAdLoader.init()

    // 動画プレイヤー
    private var videoPlayerControl: RFPPlayerControl!

    // 動画プレイヤーを表示するUIView
    @IBOutlet weak var videoView: UIView!

    override func viewDidLoad() {
        if (self.videoPlayerControl == nil) {
            RFP.rfpInitMedia("メディアIDを指定")

            // delegateの設定
            loader.delegate = self
            // 動画広告の取得
            loader.loadAd(withAdspotID: "広告枠を指定",
                frame: self.videoView.bounds)
        }
    }
}

インストリーム広告同様、カスタムパラメータの指定も可能です。

// 動画広告の取得
loader.loadAd(withAdspotID: "広告枠を指定",
    frame: self.videoView.bounds,
    customs: ["a": "1", "b": ["1", "2"]]
)

// custom[a]=1&custom[b]=2&custom[b]=3

動画広告の表示・再生

Delegateメソッドにより取得した動画プレイヤーを再生します。

class ViewController: UIViewController
    , RFPOutstreamVideoAdLoaderDelegate {
    // 動画プレイヤー
    private var videoPlayerControl: RFPPlayerControl!

    // 動画プレイヤーを表示するUIView
    @IBOutlet weak var videoView: UIView!


    // MARK: RFPOutstreamVideoAdLoaderDelegate

    open func readyToPlay(with playerControl: RFPPlayerControl!) {
        // 動画再生準備完了 / 動画プレイヤー取得
        self.videoPlayerControl = playerControl;
        self.videoView.addSubview(self.videoPlayerControl)
        self.videoView.sizeToFit()
        // 動画の再生
        self.videoPlayerControl.play()
    }
}

動画プレイヤーについて

RFPPlayerControl.play()を利用して再生を開始してください。

RFPPlayerControl.pause()で一時停止することも可能です。

    // 再生
    playerControl.play()
    // 一時停止
    playerControl.pause()

アウトストリーム動画広告では、プレイヤータップ設定をサポートしておりません