モーダル広告および動画広告の表示順序制御について - Locationvalue/arutana_Android_SDK GitHub Wiki
Arutana広告を実装する際のルールと手順を以下に示します。本マニュアルでは、モーダル広告と動画広告の2種類の広告を適切に表示する方法について説明します。実装ルールに従い、ユーザー体験を損なうことなく、効果的に広告を表示することを目的としています。
広告フォーマットの概要
Arutana広告は、以下の2種類のフォーマットを提供します:
- モーダル広告
画面中央に表示され、簡単に閉じることができる広告。 - 動画広告
フルスクリーン形式で表示される動画型の広告。
実装ルール
モーダル広告は、動画広告よりも先に表示されます。また、モーダル広告の読み込みが失敗した場合や閉じられた場合に限り、動画広告を表示してください。
-
モーダル広告の優先表示
- モーダル広告が読み込まれていれば、必ず最初に表示します。
-
動画広告の表示条件
- モーダル広告の読み込みに失敗した場合。
- モーダル広告が閉じられた場合。
実装例
// MainActivity.java (広告表示の管理)
package io.dearone.arutana.sample;
import android.os.Bundle;
import android.util.Log;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import io.dearone.arutana.ArutanaErrorCode;
import io.dearone.arutana.interstitial.ArutanaInterstitial;
import io.dearone.arutana.interstitial.ArutanaInterstitialListener;
import io.dearone.arutana.video.ArutanaMovieAd;
import io.dearone.arutana.video.ArutanaMovieListener;
public class MainActivity extends AppCompatActivity implements ArutanaInterstitialListener, ArutanaMovieListener {
private static final String LOGTAG = "MainActivity";
private ArutanaInterstitial interstitialAd; // モーダル広告
private ArutanaMovieAd movieAd; // 動画広告
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// モーダル広告の初期化
interstitialAd = new ArutanaInterstitial(this);
interstitialAd.setLocationId("4"); // 管理画面で取得したID
interstitialAd.setUserId("1");
interstitialAd.setAdListener(this);
interstitialAd.setEnableTestMode(true);
interstitialAd.preload(); // プリロード開始
// 動画広告の初期化
movieAd = new ArutanaMovieAd(this);
movieAd.setLocationId("6"); // 管理画面で取得したID
movieAd.setAdListener(this);
movieAd.setUserId("1");
movieAd.setEnableTestMode(true);
}
// モーダル広告のイベント処理
@Override
public void arutanaInterstitialReceiveAd(ArutanaInterstitial arutanaInterstitial) {
Log.d(LOGTAG, "モーダル広告を受信しました");
interstitialAd.show();
}
@Override
public void arutanaInterstitialClose(ArutanaInterstitial arutanaInterstitial) {
Log.d(LOGTAG, "モーダル広告が閉じられました");
movieAd.preload(); // 動画広告の準備
}
@Override
public void arutanaInterstitialFailedToReceiveAd(ArutanaInterstitial arutanaInterstitial, ArutanaErrorCode errorCode) {
Log.d(LOGTAG, "モーダル広告の取得に失敗しました: " + errorCode);
movieAd.preload(); // 動画広告の準備
}
// 動画広告のイベント処理
@Override
public void arutanaMovieReceiveAd() {
Log.d(LOGTAG, "動画広告を受信しました");
movieAd.show();
}
@Override
public void arutanaMovieClose() {
Log.d(LOGTAG, "動画広告が閉じられました");
}
@Override
public void arutanaMovieFailedToReceiveAd(ArutanaErrorCode errorCode) {
Log.d(LOGTAG, "動画広告の取得に失敗しました: " + errorCode);
}
}
実装のポイント
-
広告の初期化とプリロード
- アプリ起動時に
interstitialAd.preload()
とmovieAd.preload()
を呼び出し、広告の準備を行います。 - モーダル広告と動画広告それぞれの
setLocationId
やsetUserId
を正しく設定してください。
- アプリ起動時に
-
モーダル広告のイベント管理
- モーダル広告の取得成功時 (
aratunaInterstitialReceiveAd
) に広告を表示します。 - モーダル広告が閉じられた際 (
aratunaInterstitialClose
) には、動画広告をプリロードします。 - モーダル広告が取得できなかった場合 (
aratunaInterstitialFailedToReceiveAd
)、すぐに動画広告をプリロードしてください。
- モーダル広告の取得成功時 (
-
動画広告の表示制御
- 動画広告は
aratunaMovieReceiveAd
で受信した後に表示を開始します。 - 動画広告が閉じられた (
aratunaMovieClose
) 後の処理やログ出力を行い、広告サイクルを管理します。
- 動画広告は
-
エラーハンドリング
- 取得失敗時 (
aratunaInterstitialFailedToReceiveAd
またはaratunaMovieFailedToReceiveAd
) のエラーコードをチェックし、ネットワークや他の障害状況をログに記録します。 - 必要に応じてリトライを実装してください。
- 取得失敗時 (
-
ユーザー体験の最適化
- モーダル広告を優先的に表示することで、ユーザーへの負担を軽減します。
- 動画広告はモーダル広告の次に表示されるように制御し、広告効果を最大化します。