iOS のインタースティシャル実装
ironSource インタースティシャルはフルスクリーンの広告ユニットであり、通常はアプリのライフサイクル中の自然な移行ポイントで配信されます。静止画インタースティシャルとビデオインタースティシャルの両方をサポートします。また、ironSource メディエーションプラットフォームを介してインタースティシャルを提供することもできます。
ステップ 1. デリゲートを実装する
ironSource SDK は、インタースティシャルアクティビティを通知するためにいくつかのイベントを発火します。SDK は、以下にリストされている発生しうる全てのイベントをデリゲートに通知します:
+ (void)setLevelPlayInterstitialDelegate:(nullable id<LevelPlayInterstitialDelegate>)delegate;
#pragma mark - LevelPlayInterstitialDelegate
/**
Called after an interstitial has been loaded
@param adInfo The info of the ad.
*/
- (void)didLoadWithAdInfo:(ISAdInfo *)adInfo {}
/**
Called after an interstitial has attempted to load but failed.
@param error The reason for the error
*/
- (void)didFailToLoadWithError:(NSError *)error {}
/**
Called after an interstitial has been opened.
This is the indication for impression.
@param adInfo The info of the ad.
*/
- (void)didOpenWithAdInfo:(ISAdInfo *)adInfo {}
/**
Called after an interstitial has been dismissed.
@param adInfo The info of the ad.
*/
- (void)didCloseWithAdInfo:(ISAdInfo *)adInfo {}
/**
Called after an interstitial has attempted to show but failed.
@param error The reason for the error
@param adInfo The info of the ad.
*/
- (void)didFailToShowWithError:(NSError *)error andAdInfo:(ISAdInfo *)adInfo {}
/**
Called after an interstitial has been clicked.
@param adInfo The info of the ad.
*/
- (void)didClickWithAdInfo:(ISAdInfo *)adInfo {}
/**
Called after an interstitial has been displayed on the screen.
This callback is not supported by all networks, and we recommend using it
only if it's supported by all networks you included in your build.
@param adInfo The info of the ad.
*/
- (void)didShowWithAdInfo:(ISAdInfo *)adInfo {}
リスナーの完全な実装については、こちらで確認できます。
ステップ 2. インタースティシャル広告をロードする
インタースティシャル広告をリクエストするには、次のメソッドを呼びます:
ステップ 3. 広告のアベイラビリティを確認する
ステップ 2 で loadInterstitial を呼び出した後、 didLoadWithAdInfo というメソッドでデリゲートを介して広告が読み込まれると通知されます。
/**
Called after an interstitial has been loaded
@param adInfo The info of the ad.
*/
- (void)didLoadWithAdInfo:(ISAdInfo *)adInfo{}
/**
Called after an interstitial has been loaded
@param adInfo The info of the ad.
*/
public func didLoad(with adInfo: ISAdInfo) {}
または、次の関数を呼び出して広告のアベイラビリティを直接リクエストすると、true または false のブール値が返されます:
インタースティシャル広告が利用可能になると、ユーザーへ広告を表示できるようになります。ironSource の広告プレースメントを使用すると、インタースティシャル体験をカスタマイズおよび最適化できます。このツールを使用すると、さまざまな場面(アプリの起動、レベル間など)でユーザーにインタースティシャル広告を表示することができます。次のステップの関数を使用して、広告を表示するプレースメントを指定できます。
ironSource の広告プレースメントに加えて、選択したプレースメントの広告表示回数上限であるキャップと、上限と広告表示間隔であるペースが設定できるようになりました。キャッピングとペーシングは、特定の時間内に配信される広告の再生回数を制限することにより、アプリのユーザー体験を向上させます。
ユーザーにインタースティシャルを配信する前に、プレースメントが上限に達したかを確認するため、以下の関数を呼ぶ事をお勧めします:
[IronSource isInterstitialCappedForPlacement:placementName];
IronSource.isInterstitialCapped(forPlacement: “placement”)
詳細については、広告プレースメントのドキュメントをご覧ください。
ステップ 4. インタースティシャル広告を表示する
didLoadWithAdInfo コールバックを受信したら、ユーザーにインタースティシャル広告を表示する準備が整いました。ユーザーへベストな広告体験を提供できる様、広告を表示する間はゲームアクション・オーディオを止める事を忘れないでください。
次のメソッドを呼んで、インタースティシャル広告をユーザーに配信します:
(void)showInterstitialWithViewController:(UIViewController *)viewController;
IronSource.showInterstitial(with: <UIViewController>)
インタースティシャルのプレースメントを設定した場合は、次のメソッドを呼んで特定のプレースメントのインタースティシャル広告を配信します:
[IronSource showInterstitialWithViewController:YOUR_VIEWCONTROLLER placement:YOUR_PLACEMENT_NAME]
IronSource.showInterstitial(with: <UIViewController>, placement: <String?>)
完了!
インタースティシャルメディエーションプラットフォームを介して ironSource インタースティシャル広告を配信できるようになりました。
これがアプリケーションの初めての実装である場合、ironSource ダッシュボードではアプリはデフォルトで「テストモード」になります。アプリがテストモードになっている間、ironSource SDK は、SDKプロセスの可視性を高めるために、より多くのログをコンソールに出力します。広告枠をテストするには、テストデバイスを設定します。また、本番環境をオンにするまでは、収益を生み出さないテスト用広告が配信されます。アプリの本番環境への移行準備ができたら、「 Ad Units 」ページで必ず「 Go Live! 」を選択してください。
実装ガイドに従って、追加のインタースティシャルアドネットワークを設定するか、追加の広告ユニットを実装します。