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

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

実装準備

全画面インタースティシャル広告では、以下の実装準備が必要です。

  • Geniee SDK

    下記スタートガイドより、Geniee SDK(GNAdSDK) をアプリに導入する必要があります。
    スタートガイド

  • 各アドネットワーク用SDKとアダプター

    全画面インタースティシャルでは、アドネットワーク毎のSDKの設定とアダプターの設定が必要です。
    全アドネットワークを一括で設定するには、以下リンクの導入方法を参照して下さい。
    全アドネットワークの一括実装

    また、アドネットワークを個別で利用するには、以下よりアドネットワークのリンクを選択して、導入方法を参照して下さい。

    アドネットワーク 検証済みバージョン
    maio 1.1.13
    AppLovin 9.14.5
    Nend 5.4.2
    Zucks 4.7.0
    Tapjoy 12.7.0
    UnityAds 3.4.8
    Vungle 6.8.0
    Imobile 2.0.20
    AdColony 4.7.1

クラスとインタフェース

Android 動画広告配信には、下記クラスを使用します。

  • GNSFullscreenInterstitialAd 非同期で全画面インタースティシャル広告を取得、表示用クラス
  • GNSFullscreenInterstitialAdListener 全画面インタースティシャル広告ロード、再生、終了処理用インタフェース

全画面インタースティシャル広告の実装

  1. GNSFullscreenInterstitialAdをインポートします。

    import jp.co.geniee.gnadsdk.common.GNSException;
    import jp.co.geniee.gnadsdk.fullscreeninterstitial.GNSFullscreenInterstitialAd;
    import jp.co.geniee.gnadsdk.fullscreeninterstitial.GNSFullscreenInterstitialAdListener;
    
    1
    2
    3
  2. GNSFullscreenInterstitialAdのインスタンスをZoneIDを指定して作成します。

    private GNSFullscreenInterstitialAd mFullscreenInterstitial;
    
    setContentView(R.layout.activity_main);
    mFullscreenInterstitial = new GNSFullscreenInterstitialAd("YOUR_ZONE_ID", MainActivity.this);
    
    1
    2
    3
    4
  3. GNSFullscreenInterstitialAdListenerインタフェースを実装します。

    mFullscreenInterstitial.setFullscreenInterstitialAdListener(new GNSFullscreenInterstitialAdListener() {
       @Override
       public void fullscreenInterstitialAdDidReceiveAd() {
           Log.i("GNSFullscreen", "全画面インステ広告ロード成功。");
       }
       @Override
       public void fullscreenInterstitialAdWillPresentScreen(String adName) {
           Log.i("GNSFullscreen", "全画面インステを表示した。(" + adName + ")");
       }
       @Override
       public void fullscreenInterstitialAdDidClose(String adName) {
           Log.i("GNSFullscreen", "全画面インステが閉じられた。(" + adName + ")");
       }
       @Override
       public void didFailToLoadWithError(GNSException e) {
           Log.i("GNSFullscreen", "全画面インステ広告ロード失敗。(" + e.getAdnetworkName() +
           	" Code:" + e.getCode() + " " +
           	 e.getMessage());
       }
    });
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
  4. 全画面インタースティシャルのloadRequestメソッドを実装します。

    mFullscreenInterstitial.loadRequest();
    
    1
    • ロードリクエストには数秒以上かかることがあるので、早い段階で全画面広告をリクエストしてください。
    • 1つの広告の再生完了後に別の広告を見せる場合、再びロードリクエストを行う必要があります。
  5. canShowメソッドでloadRequestメソッドが正常に完了したことを確認し、showメソッドで動画を表示します。

    if (mFullscreenInterstitial.canShow()) {
       mFullscreenInterstitial.show();
    } else {
       Log.i("GNSFullscreen", "全画面広告ロード中です。");
    }
    
    1
    2
    3
    4
    5
    • showは必ずloadRequest実行後に実施するようにして下さい。
  6. Activityのライフサイクルを処理のつなぎ込みを実施します。このつなぎ込みは広告の停止や再開の制御に使われます。

    @Override
    protected void onStart() {
       super.onStart();
       if (mFullscreenInterstitial != null) {
           mFullscreenInterstitial.onStart();
       }
    }
    
    @Override
    protected void onResume() {
       super.onResume();
       if (mFullscreenInterstitial != null) {
           mFullscreenInterstitial.onResume();
       }
    }
    
    @Override
    protected void onPause() {
       if (mFullscreenInterstitial != null) {
           mFullscreenInterstitial.onPause();
       }
       super.onPause();
    }
    
    @Override
    protected void onStop() {
       if (mFullscreenInterstitial != null) {
           mFullscreenInterstitial.onStop();
       }
       super.onStop();
    }
    
    @Override
    protected void onDestroy() {
       if (mFullscreenInterstitial != null) {
           mFullscreenInterstitial.onDestroy();
       }
       super.onDestroy();
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
  • アプリケーション全体で全画面インステを使用する場合 mFullscreenInterstitial.onDestroy()の実装は除外してください。 mFullscreenInterstitial.onDestroy()を実装すると全画面インステ内のデータが破棄されます。

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

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

Last Updated: 2021/10/4 16:00:16