この機能を使用するには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メソッドにより、動画プレイヤーの取得などを行ないます。
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()
アウトストリーム動画広告では、プレイヤータップ設定をサポートしておりません