iOS 全画面インタースティシャル広告

全画面インタースティシャル広告とは、全画面インタースティシャル広告とは、アプリの操作や画面遷移処理等で画面が切り替わる際に表示される全面広告です。画面遷移時に広告を表示することで、ユーザーの視認性を向上することができます。 また、×ボタンを押下することで遷移元の画面に戻ることができます。
GenieeSDKでは、メディエーション機能により各アドネットワークの全画面インタースティシャル広告を表示します。

実装準備

ネイティブ広告の実装準備は、下記スタートガイドから行ってください。 Geniee SDK をプロジェクトにインストールする必要があります。 スタートガイド

  • 各アドネットワーク用SDK,アダプター 全画面インタースティシャルでは配信で使用するアドネットワーク毎のSDKの設定とアダプターの設定が必要です。 以下よりアドネットワークのリンクから導入方法を参照して下さい。
アドネットワーク 検証済みバージョン
maio 1.4.0
AppLovin 5.1.1
Nend 5.0.2
Zucks 4.7.8
Tapjoy 12.0.0
UnityAds 2.3.0
Vungle 6.2.0
i-mobile 2.0.29

サンプルプロジェクト

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 GNSFullscreenInterstitialAd.h GNSFullscreenInterstitialAdDelegate.h

実装

ヘッダーファイルをimportし、Delegateを追加する

例:ViewController.h

#import <GNAdSDK/GNSFullscreenInterstitialAd.h>
#import <GNAdSDK/GNSRequest.h>
#import <GNAdSDK/GNSFullscreenInterstitialAdDelegate.h>
@interface ViewController <GNSFullscreenInterstitialAdDelegate>
1
2
3
4

Delegateメソッドを実装する

  • この実装はオプションです。 FullscreenInterstitialAd SDKに、Delegateを設定します。 下記コールバックをハンドリングしたい場合にコールバックをうける ViewController内のdelgateを実装して下さい。 *viewDidLoadに記述するとiOSのライフサイクル特性上,画面遷移後にviewDidLoadが実行されないため、delegateがセットされない場合があります。

例:Viewcontroller.m (viewWillAppear内に記述推奨)

viewWillAppeare(){
    [GNSFullscreenInterstitialAd sharedInstance].delegate = self;
}
1
2
3

SDKから通知を受け取るには、GNSFullscreenInterstitialAdDelegateのメソッドを実装します。

例:Viewcontroller.m

/// デリゲートで全画面インステ広告のロード失敗を定義します。
- (void)fullscreenInterstitial:(GNSFullscreenInterstitialAd *)fullscreenInterstitialAd
    didFailToLoadWithError:(NSError *)error {
}

/// デリゲートで全画面インステ広告のロードを定義します。
- (void)fullscreenInterstitialDidReceiveAd:(GNSFullscreenInterstitialAd *)fullscreenInterstitialAd {
}

/// デリゲートで全画面インステ広告の再生開始を定義します。 
(void)fullscreenInterstitialWillPresentScreen:(GNSFullscreenInterstitialAd *)fullscreenInterstitialAd {
}

/// デリゲートで全画面インステ広告が閉じられることを定義します。
- (void)fullscreenInterstitialAdDidClose:(GNSFullscreenInterstitialAd *)fullscreenInterstitialAd {
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

全画面インタースティシャル広告のロードリクエスト

ロードリクエストにZoneID(App ID)を設定して全画面広告ロードリクエストします。

Note:

ロードリクエストには数秒以上かかる場合がありますので、アプリケーションのライフサイクルの早い段階で全画面インタースティシャル広告をloadRequestします。

1つの全画面インステ広告が表示された後に別の広告を表示する場合は、もう一度loadRequestを実行する必要があります。

GNSRequest *request = [GNSRequest request];    
[[GNSFullscreenInterstitialAd sharedInstance] loadRequest:request
                                       withZoneID:@"YOUR_SSP_ZONE_ID"];
1
2
3

全画面インタースティシャル広告表示

広告が準備完了であることを確認し、動画広告を表示します。

if ([[GNSFullscreenInterstitialAd sharedInstance] canShow]) {
   [[GNSFullscreenInterstitialAd sharedInstance] show:self];
}
1
2
3

より高単価な広告を表示する実装方法

広告準備完了イベントから数十秒経過後に広告を表示することで、単価をより高くすることがあります。 これは複数の広告を同時にリクエストして最初の広告の準備が完了した時点でアプリ側に準備完了を通知しており、それよりも高単価な広告がその数秒後に準備完了となる可能性があるためです。 そのため、広告取得処理を事前に実施して頂くことで、より高単価な広告を取得することができます。

Last Updated: 2019/4/10 15:58:31