インタースティシャル実装方法 - glossom-dev/AdfurikunSDK-Android GitHub Wiki
AdfurikunInter
クラスのインスタンスを生成します。
広告枠ID
には、アドフリくん管理画面で発行された広告枠IDをセットします。
その後setAdfurikunInterListener
を呼び出し、引数として後述のリスナーを渡します。
Kotlin
//AdfurikunInter インスタンス変数を定義
private var mInterstitial: AdfurikunInter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 広告枠ID・Activityを指定し、インタースティシャルのインスタンスを生成
mInterstitial = AdfurikunInter("広告枠ID", this, false)
mInterstitial.setAdfurikunInterListener(mListener)
}
Java
//AdfurikunInter インスタンス変数を定義
AdfurikunInter mInterstitial;
@Override
protected void onCreate(Bundle bundle) {
// 広告枠ID・Activityを指定し、インタースティシャルのインスタンスを生成
mInterstitial = new AdfurikunInter("広告枠ID", this, false);
mInterstitial.setAdfurikunInterListener(mListener);
}
Kotlin
private val mListener = object : AdfurikunInterListener {
override fun onPrepareSuccess(isManualMode: Boolean) {
// 広告の準備完了直後に実行する処理を記述してください
}
override fun onPrepareFailure(error: AdfurikunMovieError?) {
// 広告の準備失敗直後に実行する処理を記述してください
}
override fun onStartPlaying(data: InterData) {
// 動画の再生開始直後に実行する処理を記述してください
}
override fun onFinishedPlaying(data: InterData) {
// 広告の再生が完了した時に実行する処理を記述してください
}
override fun onFailedPlaying(data: InterData, error: AdfurikunMovieError?) {
// 動画の再生に失敗した時に実行する処理を記述してください
}
override fun onAdClose(data: InterData) {
// 動画の画面を閉じた時に実行する処理を記述してください
}
}
Java
AdfurikunInterListener mListener = new AdfurikunInterListener(){
@Override
public void onPrepareSuccess(boolean isManualMode) {
// 広告の準備完了直後に実行する処理を記述してください
}
@Override
public void onPrepareFailure(AdfurikunMovieError error) {
// 広告の準備失敗直後に実行する処理を記述してください
}
@Override
public void onStartPlaying(InterData data) {
// 動画の再生開始直後に実行する処理を記述してください
}
@Override
public void onFinishedPlaying(InterData data) {
// 広告の再生が完了した時に実行する処理を記述してください
}
@Override
public void onFailedPlaying(InterData data, AdfurikunMovieError error) {
// 動画の再生に失敗した時に実行する処理を記述してください
}
@Override
public void onAdClose(InterData data) {
// 動画の画面を閉じた時に実行する処理を記述してください
}
}
load
メソッドを呼ぶことで各アドネットワークへの表示準備を開始します。
Kotlin
mInterstitial.load()
Java
mInterstitial.load();
isPrepared
メソッドで広告準備が完了したかを確認し、play
メソッドで広告を表示します。
再生準備が完了したアドネットワークの中から、1つ広告が選択されます。
Kotlin
if ( mInterstitial.isPrepared() ) {
// 再生開始
mInterstitial.play()
}
Java
if ( mInterstitial.isPrepared ) {
// 再生開始。
mInterstitial.play();
}
Kotlin
override fun onDestroy() {
mInterstitial?.onDestroy()
super.onDestroy()
}
Java
@Override
protected void onDestroy() {
mInterstitial.onDestroy();
super.onDestroy();
}
ユーザーへの報酬の付与は、onAdClose
コールバックが呼ばれた際に行うことを推奨します。
インタースティシャル広告では広告スキップ機能があるため、
広告を最後まで視聴したユーザーにのみ報酬を付与するには以下のような実装が必要です。
-
onFinishedPlaying
が発生したかどうかをフラグで管理する。 -
onAdClose
でフラグをチェックし、onFinishedPlaying
が発生済の場合のみ報酬を付与する。
Kotlin
private val mListener = object : AdfurikunInterListener {
// ...
override fun onStartPlaying(data: InterData) {
isFinishedPlaying = false // 広告再生時にフラグを初期化する
}
override fun onFinishedPlaying(data: InterData) {
isFinishedPlaying = true // onFinishedPlaying コールバックが発生したことを記録する
}
override fun onAdClose(data: InterData) {
if (isFinishedPlaying) { // onFinishedPlaying コールバックが発生したケースのみ報酬を付与する
// 報酬の付与
}
}
}
Java
AdfurikunInterListener mListener = new AdfurikunInterListener() {
// ...
@Override
public void onStartPlaying(InterData data) {
isFinishedPlaying = false; // 広告再生時にフラグを初期化する
}
@Override
public void onFinishedPlaying(InterData data) {
isFinishedPlaying = true; // onFinishedPlaying コールバックが発生したことを記録する
}
@Override
public void onAdClose(InterData data) {
if (isFinishedPlaying) { // onFinishedPlaying コールバックが発生したケースのみ報酬を付与する
// 報酬の付与
}
}
}