Interstitial Integration For Android - Hiroaki-Shinoda/Geniee-Android-SDK GitHub Wiki

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

インタースティシャル広告は、リッチ HTML5 等の全画面型広告、アプリの起動、動画のプレロール、ゲームのレベル読み込みなど、アプリの画面切り替え時に表示されます。

実装準備

インタースティシャル広告の実装準備は、下記スタートガイドより、
Geniee SDK をプロジェクトにインストール必要です。
スタートガイド

クラスとインタフェース

Android インタースティシャル広告配信には、下記クラスを使用します。

  • GNInterstitial 非同期でインタースティシャル広告を取得、表示用クラス
  • GNInterstitialListener 広告ロードイベント処理用インタフェース
  • GNInterstitialDialogListener 広告クリックイベント処理用インタフェース

インタースティシャル広告の初期化

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

    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial;
    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial.GNInterstitialListener;
    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial.GNInterstitialDialogListener;
    import jp.co.geniee.gnadsdk.common.GNAdLogger;
  2. GNInterstitialListenerGNInterstitialDialogListenerインタフェースを実装します。

    public class GenieeSampleBanner extends Activity implements GNInterstitialListener, GNInterstitialDialogListener
    {
    }
  3. GNInterstitialの変数を宣言します。

    GNInterstitial interstitial = null;
  4. GNInterstitial のインスタンスを初期化します。

  • 初期化 API
    public GNInterstitial(Context context, int appid)
  • 初期化 API の使用例
    interstitial = new GNInterstitial(this, YOUR_SSP_APP_ID);

thisパラメータは、アプリのContextを設定します。
YOUR_SSP_APP_IDは、Geniee内での枠の管理IDを設定します。

  1. GNInterstitialListenerインタフェースの実装クラスを設定します。
    インタースティシャル広告ロードイベントのは、インタフェースの実装クラス経由で通知されます。
    GNInterstitialListenerインタフェースの実装した変数を設定します。

    interstitial.setListener(this);
  2. GNInterstitialDialogListenerインタフェースの実装クラスを設定します。
    インタースティシャル広告クリックイベントのは、インタフェースの実装クラス経由で通知されます。
    GNInterstitialDialogListenerインタフェースの実装した変数を設定します。

    interstitial.setDialoglistener(this);
  3. デフォルトHTML画面を設定します。(Optional)
    インターネットに接続できない場合は、設定したデフォルトHTML画面を表示します。

    String strHtml = "<html>...Your_Default_Html_Content...</html>";
    interstitial.setDefaultHtml(strHtml);
  • GNAdSampleInterstitial の実装例:
    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial;
    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial.GNInterstitialListener;
    import jp.co.geniee.gnadsdk.interstitial.GNInterstitial.GNInterstitialDialogListener;
    import jp.co.geniee.gnadsdk.common.GNAdLogger;

public class GNAdSampleInterstitial extends ActionBarActivity implements GNInterstitialListener, GNInterstitialDialogListener { private GNInterstitial interstitial = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gnad_sample_interstitial);

    // Initializes a GNInterstitial
    interstitial = new GNInterstitial(this, YOUR_SSP_APP_ID);
    interstitial.setListener(this);
    interstitial.setDialoglistener(this);
    //interstitial.setGeoLocationEnable(true);
    //interstitial.setLogPriority(GNAdLogger.INFO);
}

} ```

インタースティシャル広告のサイズ

300x250 の広告サイズを対応しています。

インタースティシャル広告のロード

インタースティシャル広告表示用タグを Ad サーバからロードします。
GNInterstitial は、表示前にプリロードし、広告の準備が完了した適切なタイミングで使用することをおすすめします。

  • ロード成功場合、GNInterstitialListeneronReceiveSetting()コールバック関数で通知されます。

  • ロード失敗場合、GNInterstitialListeneronFailedToReceiveSetting()コールバック関数で通知されます。

    • ロード API
    public void load(Activity activity)
    • ロード API の使用例
    interstitial.load(this);
    • パラメータthis:カレント画面のActivityの変数

インタースティシャル広告の表示

インタースティシャルを表示する準備ができたら、表示する前に準備できているかどうかを確認します。

  • 次の例では、画面遷移時にインタースティシャルを表示します。

    • 表示 API
    public boolean isReady()
    public boolean show(Activity activity)
    • 表示 API の使用例
    if(interstitial.isReady()) {
        interstitial.show(this);
    }
    • パラメータthis:カレント画面のActivityの変数

インタースティシャル広告の更新

新しいインタースティシャル広告の表示には、広告を再度ロードしてから表示する必要があります。

GNInterstitialListener インターフェース

  • GNInterstitialListenerのコールバック関数実装し、広告ロードイベントを受け取ります。

    public static abstract interface GNInterstitialListener
    {
        // 広告データの読み込みが完了した時に送られます。
        public abstract void onReceiveSetting();
        
        // ネットワークエラー等の原因で広告の読み込みに失敗した時に送られます。
        public abstract void onFailedToReceiveSetting();
    }

GNInterstitialDialogListener インターフェース

  • GNInterstitialDialogListenerのコールバック関数実装し、広告クリックイベントを受け取ります。

    public static abstract interface GNInterstitialDialogListener
    {
        // インタースティシャル広告画面が閉じられる直後に送られます。
        public abstract void onClose();
        
        // 管理画面より、広告画面に設置したボタンがタップされ、
        // インタースティシャル広告画面が閉じられる直後に送られます。
        // タップされたボタンの番号は、`nButtonIndex`パラメータで通知されます。
        public abstract void onButtonClick(int nButtonIndex);
    }
⚠️ **GitHub.com Fallback** ⚠️