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

はじまる前に

この実装方法ではアドフリくんSDK 3.3.0から追加されたインタースティシャル広告をベースに説明をしています。

既存の動画インタースティシャル広告とは実装方法は全く同じで、機能を提供するClassが違うだけです。

もし、動画インタースティシャル広告を実装したい場合には下記の手順の中からClass名のAdfurikunInterをAdfurikunMovieInterに差し替えて実装してください。

AdfurikunMovieInterは今後Deprecatedになる予定ですので、AdfurikunInterを使っての実装を推奨します。

1-1. 実装方法

① インタースティシャル広告専用の広告枠が必要となります。アドフリくん管理画面の [広告枠]タブ > [広告枠 追加] > [バナー種類] で「インタースティシャル」を選択します。

Interstitial

② “jp.tjkapp.adfurikunsdk.moviereward” をインポートして、アドフリくん管理画面で発行された広告枠IDと、広告を表示するActivityでAdfurikunInterクラスのインスタンスを生成します。

③ 内部状態をActivityのライフサイクルに合わせて管理するため、②で作成したインスタンスの以下のメソッドを、必要な箇所に実装します。全て必須です。

メソッド 説明
onStart() 状態管理の初期化、広告の準備を開始します。 ActivityのonStart()で実行してください。
onResume() 状態管理の再開、広告の再開などを行います。 ActivityのonResume()で実行してください。
onPause() 状態管理の一時停止、広告の一時停止などを行います。 ActivityのonPause()で実行してください。
onStop() 状態管理の停止、広告の停止または破棄などを行います。 ActivityのonStop()で実行してください。
onDestroy() 状態管理の破棄を行います。 ActivityのonDestroy()、もしく 明示的に破棄したい時に実行してください。実行後に再開することはできません。必ずインタースティシャル広告スタンスを破棄してください。

④ 下記メソッドで広告の読み込みを実行します。
広告枠が新ローディングモードの場合、広告表示準備を明示的に行う必要があります。
loadメソッドを呼び出すとそのタイミングで各アドネットワークへの表示準備開始をします。

//広告読み込み
public void load ()

 load()関数を呼び出さないと表示準備が行われません。

⑤ 下記メソッドで広告再生準備が完了したかを確認し、完了していたら明示的に広告再生開始メソッドを実行します。

//広告の再生準備が完了したか確認
public boolean isPrepared ()
//広告再生開始
public void play ()

⑥ 広告の準備状況 / 再生状況の通知を行うため、通知リスナーを登録して内容に応じた処理を行ってください。

//状態通知リスナーを登録する
public void setAdfurikunInterListener (AdfurikunInterListener listener)

AdfurikunInterListener listener 広告の準備状況 / 再生状態を受け取るイベントリスナー

Interstitial

//広告の準備が完了(広告が表示可能になりました)
public void onPrepareSuccess ()
//広告の準備が失敗
public void onPrepareFailure (AdfurikunMovieError error)
//広告の再生を開始した
public void onStartPlaying (MovieInterData data)
//広告の再生が完了した
public void onFinishedPlaying (MovieInterData data)
//広告の再生が失敗した(「内部エラーや操作により広告を中断した場合」や「再生直前でネットワークが切れた場合」など)
public void onFailedPlaying (MovieInterData data)
//広告の画面を閉じた(アプリ 画面に戻ります)
public void onAdClose (MovieInterData data)
//静止画表示時
public void onStartShowing(MovieInterData data)
//広告クリック時
public void onClick(MovieInterData data)

各メソッドで返却される広告の情報(MovieInterDataクラス) 、以下のpublicなメンバの構造です。 Sdk Setting

エラーコードの情報

タイプ コード 内容
NO_AD 0 広告の在庫がない場合
NO_NETWORK 1 オフラインまたはフライトモードの場合
LOADING 2 広告読み込み中の場合

■インタースティシャル広告の表示に関して
アプリ終了時、バックキーやホーム画面を押下時にインタースティシャル広告を表示するのは、Googleの広告ポリシーに抵触する可能性があるため、お控えください。 詳しくは、下記サイトでご確認ください。

・アプリ、サードパーティの広告、または端末の機能の妨害
https://play.google.com/intl/ja/about/monetization-ads/ads/

1-2. 実装例

■実装例 (詳細 、サンプルアプリ・AdfurikunMovieRewardSample を参照)

●アドフリくんインタースティシャル広告のインスタンス生成と通知リスナーの登録
//AdfurikunInter インスタンス変数を定義
AdfurikunInter mInter;;
// 状態通知リスナーを定義
AdfurikunInterListener mListener = new AdfurikunInterListener(){
    .....
}
@Override
protected void onCreate(Bundle bundle) {
    // 広告枠ID・Activityを指定し、インタースティシャル広告のインスタンスを生成
    mInter = new AdfurikunInter(****(広告枠ID)****, this);
    // 状態通知リスナーを登録
    mInter.setAdfurikunInterListener(mListener);
}
●Activityのライフサイクルに合わせて状態を管理
@Override
protected void onStart() {
    super.onStart();
    mInter.onStart();
}
@Override
protected void onResume() {
    super.onResume();
    mInter.onResume();
}
@Override
protected void onPause() {
    mInter.onPause();
    super.onPause();
}
@Override
protected void onStop() {
    mInter.onStop();
    super.onStop();
}
@Override
protected void onDestroy() {
    mInter.onDestroy();
    super.onDestroy();
}
●広告の準備完了通知を受け取る
// 状態通知リスナーで通知を受ける
AdfurikunInterListener mListener = new AdfurikunInterListener(){
    @Override
    public void onPrepareSuccess() {
    // 広告の再生が可能になりました。
    // 状態をフラグなどで管理してください
    }
    @Override
    public void onPrepareFailure(AdfurikunMovieError error) {
    // 広告の読み込みが失敗になりました。
    // もう一度広告の読み込みしてください。
    }
    .....
}
●広告の読み込みを開始する
// 広告読み込み。
mReward.load();
●広告の準備完了を判定する
// AdfurikunInterのインスタンスからでも確認できます。
if ( mInter.isPrepared() ) {
    // 広告の再生が可能です。
}
●広告再生を開始するトリガーから再生開始
// 例えばButtonのクリックなど
mButton.setOnClickListener ( new OnClickListener() {
    @Override
    public void onClick (View v) {
        if ( mInter.isPrepared() ) {
            // 再生開始。
            mInter.play();
        }
    }
}
●広告の再生開始 / 再生完了 / 再生失敗 の通知を受け取る
// 状態通知リスナーで通知を受ける
AdfurikunInterListener mListener = new AdfurikunInterListener(){
    .....
    @Override
    public void onStartPlaying(MovieInterData data) {
        // 広告の再生を開始します。
    }
    @Override
    public void onFinishedPlaying(MovieInterData data) {
        // 広告の再生が完了しました。
    }
    @Override
    public void onFailedPlaying(MovieInterData data) {
        // 広告の再生が失敗しました。
        // 再生開始時にネットワークへ接続していない場合も、失敗として通知します。
    }
    .....
}
●アプリへの画面復帰の通知を受け取る
// 状態通知リスナーで通知を受ける
AdfurikunInterListener mListener = new AdfurikunInterListener(){
    .....
    @Override
    public void onAdClose(MovieInterData data) {
        // アプリのActivityが復帰します。
    }
}
 ●インタースティシャル広告のインスタンスの破棄
// Activityのライフサイクル以外でもインスタンスを破棄することができます。
if (mInter != null) {
    // onDestroy()後に再開することはできません。
    mInter.onDestroy();
    mInter = null;
}

1-3. 動作サイクルイメージ

Interstitial

results matching ""

    No results matching ""