Android のインタースティシャル実装 - レガシー API (SDK < 8.4.0)

Unity LevelPlay インタースティシャルはフルスクリーンの広告ユニットであり、通常はアプリのライフサイクル中の自然な移行ポイントで配信されます。

Before you start

ironSource SDK がアプリケーションに正しく実装されていることを確認してください。実装の概要はこちら

SDK 8.4.0 以降サポートされているマルチ広告ユニット API はこちら

ステップ 1. リスナーを実装する

ironSource SDK は、インタースティシャルのアクティビティを通知するためにいくつかのイベントを発火します。SDK は、以下にリストされている発生しうる全てのイベントをデリゲートに通知します:

IronSource.setLevelPlayInterstitialListener(new LevelPlayInterstitialListener() {
   // Invoked when the interstitial ad was loaded successfully.
   // AdInfo parameter includes information about the loaded ad   
   @Override
   public void onAdReady(AdInfo adInfo) {}

   // Indicates that the ad failed to be loaded 
   @Override
   public void onAdLoadFailed(IronSourceError error) {}

   // Invoked when the Interstitial Ad Unit has opened, and user left the application screen.
   // This is the impression indication. 
   @Override
   public void onAdOpened(AdInfo adInfo) {}

   // Invoked when the interstitial ad closed and the user went back to the application screen.
   @Override
   public void onAdClosed(AdInfo adInfo) {}

   // Invoked when the ad failed to show 
   @Override
   public void onAdShowFailed(IronSourceError error, AdInfo adInfo) {}

   // Invoked when end user clicked on the interstitial ad
   @Override
   public void onAdClicked(AdInfo adInfo) {}

   // Invoked before the interstitial ad was opened, and before the InterstitialOnAdOpenedEvent is reported.
   // 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. 
   @Override
   public void onAdShowSucceeded(AdInfo adInfo) {}
});
Note:
  • コールバックが常にメインスレッドで実行されているとは限りません。ironSource コールバックから生じる UI インタラクションまたは更新は、実行する前にメインスレッドに渡す必要があります。
  • リスナーは必ず SDK を初期化する前に設定してください。これにより、SDK がすべての関連情報を送信できるようになります。

リスナーの完全な実装については、こちらで確認できます。

ステップ 2. インタースティシャル広告をロードする

インタースティシャル広告は、初期化完了コールバックを受信した後にリクエストすることをお勧めします。
インタースティシャル広告をリクエストするには、次のメソッドを呼びます:

IronSource.loadInterstitial();
Note:  アプリケーションで複数のインタースティシャル広告を配信する場合は、前のインタースティシャル広告を表示して閉じた後で、この手順を繰り返す必要があります。onAdClosed が発火されると、新しいインタースティシャル広告をロードできるようになります。

ステップ 3. 広告のアベイラビリティを確認する

ステップ 2loadInterstitial を呼び出した後、onAdReady という広告のアベイラビリティを知らせるメソッドでリスナーを介して広告が読み込まれると通知されます。

public void onAdReady() {}

さらに、次の関数を呼び出して広告のアベイラビリティを直接取得することもできます:

boolean isInterstitialReady();
インタースティシャル広告を短期間で連続してリクエストすることはお勧めしません。この時点で利用できる在庫がある可能性は低いため、短期間での多数のリクエストによって得られるメリットはありません。

インタースティシャル広告が利用可能になると、ユーザーに広告を表示できるようになります。LevelPlay の広告プレースメントを使用すると、インタースティシャル体験をカスタマイズおよび最適化できます。このツールを使用すると、さまざまな場面(アプリの起動、レベル間など)でユーザーにインタースティシャル広告を表示することができます。次のステップの関数を使用して、広告を表示するプレースメントを指定できます。さらに、特定の広告プレースメントの詳細を取得するには、次の関数を呼びます:

InterstitialPlacement getInterstitialPlacementInfo(String placementName)

LevelPlay の広告プレースメントに加えて、選択したプレースメントの広告表示回数上限であるキャップと、上限と広告表示間隔であるペースが設定できるようになりました。キャッピングとペーシングは、特定の時間内に配信される広告の量を制限することにより、アプリのユーザー体験を向上させます。

ユーザーにインタースティシャルを配信する前に、プレースメントが上限に達したかを確認するため、以下の関数を呼ぶ事をお勧めします:

IronSource.isInterstitialPlacementCapped(placementName)

詳細については、広告プレースメントのドキュメントをご覧ください。

ステップ 4. インタースティシャル広告を表示する

onInterstitialAdReady コールバックを受信したら、ユーザーにインタースティシャル広告を表示する準備が整いました。ユーザーへベストな広告体験を提供できる様、広告を表示する前にゲームアクション・オーディオなどを止める事を忘れないでください。

次のメソッドを呼んで、インタースティシャル広告をユーザーに配信します:

IronSource.showInterstitial(placementName);
ステップ 4 を正常に完了すると、ユーザーにインタースティシャル広告が表示されます。別のインタースティシャル広告を配信する場合は、ステップ 2 を繰り返して、追加のインタースティシャルをリクエストする必要があります。

ステップ 4. インタースティシャル広告を表示する

onInterstitialAdReady コールバックを受信したら、ユーザーにインタースティシャル広告を表示する準備が整いました。ユーザーへベストな広告体験を提供できる様、広告を表示する前にゲームアクション・オーディオなどを止める事を忘れないでください。

次のメソッドを呼んで、インタースティシャル広告をユーザーに配信します:

IronSource.showInterstitial(placementName);
ステップ 4 を正常に完了すると、ユーザーにインタースティシャル広告が表示されます。別のインタースティシャル広告を配信する場合は、ステップ 2 を繰り返して、追加のインタースティシャルをリクエストする必要があります。

完了!
これで、アプリでインタースティシャルを配信する準備が整いました!


次のステップは?
実装ガイドに従って、メディエーションプラットフォームに追加のインタースティシャルアドネットワークを設定するか、追加の広告ユニットを実装します: