1-1. 動画インタースティシャル 実装方法

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

Interstitial

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

Interstitial

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

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

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

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

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

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

AdfurikunMovieInterListener listener 動画の準備状況 / 再生状態を受け取るイベントリスナー

Interstitial

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

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

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

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

1-2. 実装例

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

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

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

Interstitial

results matching ""

    No results matching ""