Interstitial Integration For Android - Hiroaki-Shinoda/Geniee-Android-SDK GitHub Wiki
インタースティシャル広告は、リッチ HTML5 等の全画面型広告、アプリの起動、動画のプレロール、ゲームのレベル読み込みなど、アプリの画面切り替え時に表示されます。
インタースティシャル広告の実装準備は、下記スタートガイドより、
Geniee SDK をプロジェクトにインストール必要です。
スタートガイド
Android インタースティシャル広告配信には、下記クラスを使用します。
- GNInterstitial 非同期でインタースティシャル広告を取得、表示用クラス
- GNInterstitialListener 広告ロードイベント処理用インタフェース
- GNInterstitialDialogListener 広告クリックイベント処理用インタフェース
-
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;
-
GNInterstitialListener
、GNInterstitialDialogListener
インタフェースを実装します。public class GenieeSampleBanner extends Activity implements GNInterstitialListener, GNInterstitialDialogListener { }
-
GNInterstitial
の変数を宣言します。GNInterstitial interstitial = null;
-
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を設定します。
-
GNInterstitialListener
インタフェースの実装クラスを設定します。
インタースティシャル広告ロードイベントのは、インタフェースの実装クラス経由で通知されます。
GNInterstitialListener
インタフェースの実装した変数を設定します。interstitial.setListener(this);
-
GNInterstitialDialogListener
インタフェースの実装クラスを設定します。
インタースティシャル広告クリックイベントのは、インタフェースの実装クラス経由で通知されます。
GNInterstitialDialogListener
インタフェースの実装した変数を設定します。interstitial.setDialoglistener(this);
-
デフォルト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 は、表示前にプリロードし、広告の準備が完了した適切なタイミングで使用することをおすすめします。
-
ロード成功場合、GNInterstitialListener
onReceiveSetting()
コールバック関数で通知されます。 -
ロード失敗場合、GNInterstitialListener
onFailedToReceiveSetting()
コールバック関数で通知されます。- ロード 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
のコールバック関数実装し、広告ロードイベントを受け取ります。public static abstract interface GNInterstitialListener { // 広告データの読み込みが完了した時に送られます。 public abstract void onReceiveSetting(); // ネットワークエラー等の原因で広告の読み込みに失敗した時に送られます。 public abstract void onFailedToReceiveSetting(); }
-
GNInterstitialDialogListener
のコールバック関数実装し、広告クリックイベントを受け取ります。public static abstract interface GNInterstitialDialogListener { // インタースティシャル広告画面が閉じられる直後に送られます。 public abstract void onClose(); // 管理画面より、広告画面に設置したボタンがタップされ、 // インタースティシャル広告画面が閉じられる直後に送られます。 // タップされたボタンの番号は、`nButtonIndex`パラメータで通知されます。 public abstract void onButtonClick(int nButtonIndex); }