VAMP SDK

Video Ad Mediation Platform Software Development Kit

動画リワード広告

動画リワード広告とは、アプリ内で使用可能なアイテムやポイントをユーザーに付与する代わりに、約15秒〜30秒程度の動画広告を表示する広告フォーマットです。 強制視聴型の動画広告と違い、動画視聴を希望したユーザーにのみインセンティブを付与する点で、一般的な動画広告とは異なるものです。

動画視聴後に付与する報酬(インセンティブ)の例としては、ゲーム内で使えるアイテムやコンティニューの権利、ツール系アプリの場合は有料の機能を限定的に開放するなどがあります。

前提条件

  • VAMP SDK v4.1.0以降
  • VAMP SDKがインポート済み

各メソッドの仕様やオプションについては、iOSリファレンスをご参照ください。

VAMPRewardedAdオブジェクトの初期化

動画リワード広告を表示するためにはまずVAMPRewardedAdオブジェクトを初期化する必要があります。
次のコードスニペットでは、ViewControllerviewDidLoadメソッド内でVAMPRewardedAdオブジェクトを初期化しています。

VAMP.xcframeworkをインポートして、VAMPRewardedAdDelegateを設定してください。

広告枠IDでVAMPRewardedAdを初期化します。

Note

AdGeneration管理画面で発行された広告枠IDを*****に設定します。

Objective-C

#import <VAMP/VAMP.h>

@interface AdViewController : UIViewController<VAMPRewardedAdDelegate>
@property (nonatomic) VAMPRewardedAd *rewardedAd;
@end

@implementation AdViewController
  static NSString * const kPlacementId = @"*****"; // 広告枠IDを設定してください

  - (void)viewDidLoad {
      [super viewDidLoad];

      self.rewardedAd = [[VAMPRewardedAd alloc] initWithPlacementID:kPlacementId];
      self.rewardedAd.delegate = self;
  }
@end

Swift

import VAMP

class AdViewController : UIViewController, VAMPRewardedAdDelegate {
    let placementId = "*****" // 広告枠IDを設定してください

    override func viewDidLoad() {
        super.viewDidLoad()
        self.rewardedAd = VAMPRewardedAd(placementID: placementId)
        self.rewardedAd.delegate = self
    }
}

広告の読み込み

Objective-C

VAMPRequest *request = VAMPRequest.request;
[self.rewardedAd loadRequest:request];

Swift

let request = VAMPRequest()
self.rewardedAd.load(request)

広告の読み込みに成功した場合、rewardedAdDidReceiveデリゲートメソッドが呼ばれます。

表示(再生)

Objective-C

[self.rewardedAd showFromViewController:self];

Swift

self.rewardedAd.show(from: self)

デリゲート

広告表示準備完了

広告のロードが成功したタイミングで呼び出されます。

Objective-C

- (void)rewardedAdDidReceive:(VAMPRewardedAd *)rewardedAd

Swift

func rewardedAdDidReceive(_ rewardedAd: VAMPRewardedAd)

失敗

失敗した際に呼び出されます。

Objective-C

// 全アドネットワークにおいて広告が取得できなかったときに通知  
- (void)rewardedAd:(VAMPRewardedAd *)rewardedAd didFailToLoadWithError:(VAMPError *)error

// 広告の表示に失敗したときに通知  
- (void)rewardedAd:(VAMPRewardedAd *)rewardedAd didFailToShowWithError:(VAMPError *)error

Swift

// 全アドネットワークにおいて広告が取得できなかったときに通知  
func rewardedAd(_ rewardedAd: VAMPRewardedAd, didFailToLoadWithError error: VAMPError)

// 広告の表示に失敗したときに通知  
func rewardedAd(_ rewardedAd: VAMPRewardedAd, didFailToShowWithError error: VAMPError)
error description
VAMPErrorCodeUnknown 不明なエラー(起動元アプリと接続できなくなった場合など)
VAMPErrorCodeServerError サーバー間通信エラー
VAMPErrorCodeNoAdnetwork 配信可能なアドネットワークがない
VAMPErrorCodeNeedConnection 通信不通
VAMPErrorCodeMediationTimeout タイムアウト
VAMPErrorCodeUserCancel ユーザ都合の途中終了
VAMPErrorCodeNoAdStock 広告在庫がない or アドネットワーク側のエラー
VAMPErrorCodeAdnetworkError アドネットワーク側のエラー
VAMPErrorCodeAdnetworkError アドネットワーク側のエラー
VAMPErrorCodeNotSupportedOsVersion 非対応OSバージョン
VAMPErrorCodeInvalidParameter パラメーターが不正

詳細についてはエラーコード一覧を参照してくだい。

広告を閉じる

広告を閉じたタイミングで呼び出されます。

Objective-C

- (void)rewardedAd:(VAMPRewardedAd *)rewardedAd didCloseWithClickedFlag:(BOOL)clickedFlag

Swift

func rewardedAd(_ rewardedAd: VAMPRewardedAd, didCloseWithClickedFlag clickedFlag: Bool)

インセンティブ付与通知

動画再生完了時、または広告が閉じられた際にインセンティブ付与が可能な状態であれば呼び出されます。
動画の再生を途中でキャンセルした場合は、本デリゲートメソッドは呼び出されません。

Objective-C

- (void)rewardedAdDidComplete:(VAMPRewardedAd *)rewardedAd

Swift

func rewardedAdDidComplete(_ rewardedAd: VAMPRewardedAd)

アドネットワーク毎の広告取得開始

アドネットワーク毎の広告取得が開始されたときに通知します。

Objective-C

- (void)rewardedAd:(nonnull VAMPRewardedAd *)rewardedAd 
 didStartLoadingAd:(nonnull NSString *)adNetworkName;

Swift

func rewardedAd(_ rewardedAd: VAMPRewardedAd, 
                didStartLoadingAd adNetworkName: String)

アドネットワーク毎の広告取得結果

アドネットワーク毎の広告取得結果を、 成功 , 失敗 のどちらの場合でも通知します。
errorがnilの場合は成功です。
失敗しても次のアドネットワークがある場合、広告取得を実行します。
最終的に全てのアドネットワークの広告在庫がない場合は、
didFailToLoadWithErrorVAMPErrorCodeNoAdStock が通知されるため、ここで処理を止めないでください。

Objective-C

- (void)rewardedAd:(nonnull VAMPRewardedAd *)rewardedAd 
         didLoadAd:(nonnull NSString *)adNetworkName 
         withError:(nullable VAMPError *)error;

Swift

func rewardedAd(_ rewardedAd: VAMPRewardedAd, 
                didLoadAd adNetworkName: String, 
                withError error: VAMPError?)
Note

この通知をもとにshowしないようご注意ください。showする判定は、rewardedAdDidReceiveを受け取ったタイミングで判断してください。

期限切れ

rewardedAdDidReceiveを受けてからの有効期限(55分)が切れた際に通知されます。
広告を表示するためには、再度ロードを行う必要があります。

Objective-C

- (void)rewardedAdDidExpire:(nonnull VAMPRewardedAd *)rewardedAd;

Swift

func rewardedAdDidExpire(_ rewardedAd: VAMPRewardedAd)