RewardVideo For iOS - unigeniee/Geniee-iOS-SDK GitHub Wiki
動画リワード広告とは、アプリ内で使用可能なアイテムやポイントをユーザーに付与する代わりに、約15秒〜30秒程度の動画広告を表示する広告フォーマットです。 GenieeSDKでは、メディエーション機能により各アドネットワークの動画リワード広告を表示します。
ネイティブ広告の実装準備は、下記スタートガイドから行ってください。 Geniee SDK をプロジェクトにインストールする必要があります。 スタートガイド
- 各アドネットワーク用SDK,アダプター 動画リワードでは配信で使用するアドネットワーク毎のSDKの設定とアダプターの設定が必要です。 以下よりアドネットワークのリンクから導入方法を参照して下さい。
アドネットワーク | 検証済みバージョン |
---|---|
maio | 1.4.0 |
AppLovin | 5.1.1 |
Unity Ads | 2.3.0 |
AdColony | 3.3.5 |
CAReward | 2.3.1 |
Tapjoy | 12.0.0 |
Vungle | 6.2.0 |
Nend | 5.0.2 |
AMoAd | playable1.0.0 |
Objective-C
https://github.com/geniee-ssp/Geniee-iOS-SDK/tree/master/sample/use_cocoapods/objectivec
Swift
https://github.com/geniee-ssp/Geniee-iOS-SDK/tree/master/sample/use_cocoapods/swift
iOS動画リワード配信には以下のクラスを使用します。 GNSRequest.h GNSRewardVideoAd.h GNSRewardVideoAdDelegate.h
ヘッダーファイルをimportし、Delegateを追加する
例:ViewController.h
#import <GNAdSDK/GNSRewardVideoAd.h>
#import <GNAdSDK/GNSRequest.h>
#import <GNAdSDK/GNSAdReward.h>
#import <GNAdSDK/GNSRewardVideoAdDelegate.h>
@interface ViewController <GNSRewardVideoAdDelegate>
- この実装はオプションです。 Reward VideoAd SDKに、Delegateを設定します。 下記コールバックをハンドリングしたい場合にコールバックをうける ViewController内のdelgateを実装して下さい。 *viewDidLoadに記述するとiOSのライフサイクル特性上,画面遷移後にviewDidLoadが実行されないため、delegateがセットされない場合があります。
例:Viewcontroller.m (viewWillAppear内に記述推奨)
viewWillAppeare(){
[GNSRewardVideoAd sharedInstance].delegate = self;
}
SDKから通知を受け取るには、GNSRewardVideoAdDelegateのメソッドを実装します。
例:Viewcontroller.m
/// デリゲートでリワード動画広告のロード失敗を定義します。
- (void)rewardVideoAd:(GNSRewardVideoAd *)rewardVideoAd
didFailToLoadWithError:(NSError *)error {
}
/// デリゲートでリワード動画広告のロードを定義します。
- (void)rewardVideoAdDidReceiveAd:(GNSRewardVideoAd *)rewardVideoAd {
}
/// デリゲートでリワード動画広告の再生開始を定義します。 (void)rewardVideoAdDidStartPlaying:(GNSRewardVideoAd *)rewardVideoAd {
}
/// デリゲートでリワード動画広告が閉じられることを定義します。
- (void)rewardVideoAdDidClose:(GNSRewardVideoAd *)rewardVideoAd {
}
/// デリゲートでリワード動画広告のユーザーに対する報酬付与を定義します。
- (void)rewardVideoAd:(GNSRewardVideoAd *)rewardVideoAd
didRewardUserWithReward:(GNSAdReward *)reward {
}
ロードリクエストにZoneID(App ID)を設定して動画広告ロードリクエストします。
Note:
ロードリクエストには数秒以上かかる場合がありますので、アプリケーションのライフサイクルの早い段階で動画リワード広告をloadRequestします。
1つの動画広告が表示された後に別の動画広告を表示する場合は、もう一度loadRequestを実行する必要があります。
GNSRequest *request = [GNSRequest request];
[[GNSRewardVideoAd sharedInstance] loadRequest:request
withZoneID:@"YOUR_SSP_ZONE_ID"];
動画広告が準備完了であることを確認し、動画広告を表示します。
if ([[GNSRewardVideoAd sharedInstance] canShow]) {
[[GNSRewardVideoAd sharedInstance] show:self];
}
動画広告で収益を最大化するには、動画広告視聴者に報酬を与えることが重要です。 GNSAdRewardには以下の項目が含まれます。
- reward.type:SSPの通貨タイプ設定
- reward.amount:SSPの通貨額設定
動画広告視聴者に報酬を与えるには、didRewardUserWithRewardコールバックメソッドを使用します。
- (void)rewardVideoAd:(GNSRewardVideoAd *)rewardVideoAd
didRewardUserWithReward:(GNSAdReward *)reward
{
NSLog(@"ViewController: Reward received type=%@, amount=%lf"
,reward.type
,[reward.amount doubleValue]);
}
Xcodeプロジェクトの Info.plistファイルに以下を追加してください:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>