静止画広告SDKから動画広告SDKへの移行について
本ドキュメントでは静止画広告SDKを導入してあるアプリケーションに動画広告SDKを導入する際の移行について説明します。
統合後の動作につきましては、静止画広告SDKでは広告を表示するViewをアプリケーションで作成して広告読み込みをするようになってましたが、 動作広告SDKでは広告を管理するインスタンスを作成した後広告読み込みを開始すると広告が表示されるViewを含む広告情報がDelegateのパラメータとして渡されますので、 それを適切な位置にAddSubviewするやり方になりました。
バナー広告・パネル広告
初期化
- 既存の実装
if (adView == nil) {
adView = [[AdfurikunView alloc] initWithFrame:CGRectMake(0,
0,
414,//450,
64)];//375)];
adView.delegate = self;
adView.appId = ADFURIKUN_BANNER_APPID;
adView.transitionDulation = 0.5f;
adView.autoresizesSubviews = true;
adView.contentMode = UIViewContentModeScaleToFill;
}
[self.view addSubview:adView];
[adView.layer setBorderColor:[UIColor clearColor].CGColor];
[adView.layer setBorderWidth:1.0f];
[adView testModeEnable];
[adView startShowAd];
- 動画広告SDKの実装
@property (nonatomic) ADFNativeAd *nativeAd;
@property (nonatomic) ADFNativeAdInfo *nativeAdInfo;
nativeAd = [ADFmyBanner createInstance:ADFURIKUN_BANNER_APPID];
if (nativeAd) {
[nativeAd loadAndNotify:self];
}
広告取得
広告取得通知はAdfurikunViewDelegateから ADFmyNativeAdDelegate に変わりました。
- 既存の実装
-(void)adfurikunViewDidFinishLoad:(AdfurikunView *)view{
}
-(void)adfurikunViewAdTapped:(AdfurikunView *)view{
}
-(void)adfurikunViewAdFailed:(AdfurikunView *)view{
}
- 動画広告SDKの実装
- (void)onNativeAdLoadFinish:(ADFNativeAdInfo *)info appID:(NSString *)appID {
self.nativeAdInfo = info;
}
- (void)onNativeAdLoadError:(ADFMovieError *)error appID:(NSString *)appID {
NSLog(@"Failed to load native ad, error code=%lu, error message=\"%@\"", (unsigned long)error.errorCode, error.errorMessage);
self.nativeAdInfo = nil;
}
広告再生
- 既存の実装
- (IBAction) startAd:(id)sender {
[adView startShowAd];
}
- 動画広告SDKの実装
- (IBAction)showNativeAd:(id)sender {
//ネイティブ広告チェック
if (self.nativeAdInfo.mediaView != nil) {
self.nativeAdInfo.mediaView.frame = self.containerView.bounds;
self.nativeAdInfo.mediaView.mediaViewDelegate = self;
[self.containerView addSubview:self.nativeAdInfo.mediaView];
[self.nativeAdInfo playMediaView];
} else {
NSLog(@"ネイティブ広告準備できてない");
}
}
再生完了・破棄
- 既存の実装
-(void)dealloc
{
if ( adView != nil ) {
adView.delegate = nil;
[adView stopUpdating];
}
}
- 動画広告SDKの実装
- (void)dealloc {
self.nativeAdInfo.mediaView = nil;
self.nativeAdInfo = nil;
[self.nativeAd dispose];
}
Deprecatedされる機能
- テストモード廃止
- 管理画面に設定されてある「リフレッシュ頻度」による自動切り替え機能廃止
- トランジションアニメーション機能廃止
インタースティシャル広告
初期化
- 既存の実装
@property (nonatomic, retain) AdfurikunPopupView *adPopupView;
adPopupView = [[AdfurikunPopupView alloc] init];
adPopupView.delegate = self;
adPopupView.appId = ADFURIKUN_INTERS_APPID;
[adPopupView testModeEnable];
[adPopupView setSchedule:1];
[adPopupView setScheduleFirst:1];
[adPopupView setDisplayCount:0];
[self.view addSubview:adPopupView];
[adPopupView startShowAd];
- 動画広告SDKの実装
@property (nonatomic)ADFmyInterstitial *interstitial;
[ADFmyInterstitial initializeWithAppID:ADFURIKUN_INTERS_APPID];
_interstitial = [ADFmyInterstitial getInstance:ADFURIKUN_INTERS_APPID delegate:self];
[__interstitial load];
広告取得
広告取得通知はAdfurikunPopupViewDelegateから ADFmyMovieRewardDelegate に変わりました。
- 既存の実装
-(void)adfurikunViewDidFinishLoad:(AdfurikunBaseView *)view{
}
-(void)adfurikunViewAdTapped:(AdfurikunBaseView *)view{
}
-(void)adfurikunViewAdFailed:(AdfurikunBaseView *)view{
}
-(void)adfurikunViewAdClose:(AdfurikunPopupView *)view{
}
- 動画広告SDKの実装
- (void)AdsFetchCompleted:(NSString *)appID isTestMode:(BOOL)isTestMode_inApp
{
}
- (void)AdsFetchFailed:(NSString *)appID error:(NSError *)error
{
}
- (void)AdsDidShow:(NSString *)appID adNetworkKey:(NSString *)adNetworkKey
{
}
- (void)AdsDidCompleteShow:(NSString *)appID
{
}
- (void)AdsDidHide:(NSString *)appID
{
}
- (void)AdsPlayFailed:(NSString *)appID
{
}
広告再生
- 既存の実装
- (IBAction) startPopupAd:(id)sender {
[adPopupView preloadShowAd];
}
- 動画広告SDKの実装
if ( _interstitial != nil && [_interstitial isPrepared] ) {
//再生開始
[_interstitial playWithPresentingViewController:self];
} else {
}
再生完了・破棄
- 既存の実装
-(void) dealloc
{
if (adPopupView != nil) {
//[adPopupView release];
adPopupView = nil;
}
}
- 動画広告SDKの実装
特になし
Deprecatedされる機能
- テストモード廃止
- 表示タイトルの設定機能廃止
- 広告の表示頻度・回数制御機能廃止
- 広告の先読み機能廃止
- 広告を閉じるときのClose Type廃止
ネイティブ広告
静止画広告SDKで使われていたネイティブ広告は統合対象外になっていまして、ネイティブ広告枠に対しては使用できなくなりました。
動画ネイティブか新しくネイティブとして広告枠を再発行した上で実装方法を参考にして実装してください。