概要
インタースティシャル広告について
インタースティシャル広告は、アプリのインターフェースを覆うフルスクリーン広告です。これらは通常、アクティビティ間やゲームのレベル間の一時停止中など、アプリのフローの自然な移行ポイントに表示されます。一部のインタースティシャル広告はリワード広告です。
リワード広告について
リワード広告は、広告の視聴や広告の利用と引き換えに、ユーザーに価値のあるものを提供することで、優れたユーザー エクスペリエンスを提供します。この広告の視聴と引き換えに、通常、ゲームでの追加ライフ、仮想通貨、パズルのヒントなど、アプリ内の特典を獲得することができます (報酬の性質や量はユーザーが決定します)。アプリ内の自然な合間に表示されるリワード広告は、特に当社の推奨事項に従ってスキップできないようにした場合に、高い収益をもたらします。
リワード広告はインセンティブ広告として参照されることがあります。どちらの場合も、同等な広告のことを示しています。「リワード」が推奨されますが、SDK のコードと Reporting API では、「インセンティブ」を使用します。
リワード広告を統合するには、アプリ内報酬 (推奨、以下で説明) とサーバー間コールバック (「このトピックに関する FAQ 記事」を参照) の 2 つの方法があります。アプリ内報酬は、ユーザーが広告ビューを正常に終了するか、ダウンロード ボタンをクリックすると、アプリ内で直接報酬を受け取ることができます。この手法の主な利点は、実装が簡単なことです。迅速な方法を探していて、リプレイ攻撃をあまり心配しないのであれば、こちらを利用できます。
Vungle は、Dynamic Template 広告を使ったさまざまな広告形式を提供するようになりました。広告再生に続いてエンドカードが表示される動画再生で構成されていた従来の広告形式とは違い、動画再生中にコールトゥアクション (CTA) ボタンが利用できるテンプレートを提供しています。動画広告を最後まで視聴したユーザーと同様に、ボタンをクリックしたユーザーにも報酬を与える必要があります。
手順 1. 基本的な統合を完了する
インタースティシャル広告を Android または Amazon アプリに統合するには、基本的な統合の記事の手順に従って開始します。この記事には補足情報が含まれており、基本的な統合が完了していることを前提としています。
手順 2. イベント リスナーを実装する
広告読み込みイベント用の LoadAdCallback
と広告再生イベント用の PlayAdCallback
を実装することで一般的なコールバックを使用したり、loadAd
と playAd
を呼び出す場合にはインライン コールバックを使用したりできます。
LoadAdCallback
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, VungleException exception) {
// Ad has failed to load for the placement
}
};
// 6.4.x & below
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, Throwable throwable) {
// Ad has failed to load for the placement
}
};
オーバーライド可能なメソッド | 説明 |
---|---|
onAdLoad(String id) |
広告が正常に読み込まれ、広告配置用に再生されるときに呼び出されます。 |
onError(String id) |
広告の再生中にエラーが発生したときに呼び出されます。VungleException の getLocalizedMessage からのエラー メッセージを確認し、getExceptionCode をデバッグに使用できます。 |
PlayAdCallback
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, VungleException exception) {
// Ad failed to play
}
};
オーバーライド可能なメソッド | 説明 |
---|---|
onAdStart(String id) |
広告が正常に起動し、デバイスに表示されたときに呼び出されます。 |
onAdEnd(String id) |
制御がホスティングアプリに戻される直前、広告エクスペリエンス全体が完了したときに呼び出されます。 |
onAdClick(String id) |
ユーザーが動画広告またはダウンロード ボタンをクリックしたときに呼び出されます。 |
onAdRewarded(String id) |
ユーザーが報酬型動画のうち 80% を再生し、報酬の対象となるときに呼び出されます。ユーザーへの報酬はここで行われ、報酬型広告配置に対してのみトリガーされます。 |
onAdLeftApplication(String id) |
広告のストア ページを開くなど、広告エクスペリエンスが完了する前にユーザーがアプリを離れたときに呼び出されます。 |
onAdError(String id, VungleException exception) |
広告の再生中にエラーが発生したときに呼び出されます。VungleException の getLocalizedMessage からのエラー メッセージを確認し、getExceptionCode をデバッグに使用できます。 |
手順 3. 広告を読み込んで再生する
広告配置用の広告を読み込む
割り当てられているコールバックについて、広告の読み込み状況が LoadAdCallback
に通知されます。SDK は、このコールバックのみを参照します。このコールバックはどこにも保存されないため、呼び出し側で、このコールバックを適切に管理する必要があります。
public static void loadAd(@NonNull final String id, @Nullable LoadAdCallback callback)
// Load Ad Implementation if (Vungle.isInitialized()) { Vungle.loadAd("PLACEMENT_ID", new LoadAdCallback() { @Override public void onAdLoad(String placementReferenceId) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
広告が配置可能かどうかを確認する
playAd
メソッドを呼び出す前に、静的なメソッド canPlayAdmethod
を使用して、広告配置用の広告を再生できるかどうかを確認します。
public static boolean canPlayAd(@NonNull String id)
広告を再生する
広告を再生するには、配置参照 ID、AdConfig
(オプション。使用していない場合は null)、PlayAdCallback
イベント リスナー を指定して playAd
メソッドを呼び出します。再生が成功したか失敗したかが、このメソッドに通知されます。
public static void playAd(@NonNull final String id, final AdConfig settings, @Nullable final PlayAdCallback listener)
playAd
メソッドを呼び出す前に必ず canPlayAd
メソッドを呼び出して、広告が配置可能な状態になっているかどうかを確認します。playAd
が立て続けに呼び出されると広告が正しくレンダリングされないため、追加の playAd
を発行する前に最初に呼び出した playAd
から、onAdEnd
または onError
コールバックを受け取っているかを確認する必要があります。
if (Vungle.canPlayAd("PLACEMENT_ID")) { Vungle.playAd("PLACEMENT_ID", null, new PlayAdCallback() { @Override public void onAdStart(String placementReferenceId) { } @Override public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
手順 4. すべてのフルスクリーン広告を設定する (オプション)
新しい adConfig
オブジェクトを playAd
に渡すことにより、再生する個々の広告をカスタマイズすることができます。AdConfig
オブジェクトが null の場合、広告はデフォルトの構成設定で再生されます。null ではない場合は、AdConfig
セッターの設定をオーバーライドします。以下に、AdConfig
の使用例を示します。
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
上記の例では、カスタマイズされた構成オプションを含む adConfig
オブジェクトを使用しています。以下のように AdConfig
オブジェクトを設定します。
AdConfig adConfig = new AdConfig(); adConfig.setAdOrientation(AdConfig.AUTO_ROTATE); adConfig.setMuted(true); Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
以下の表に、利用可能なすべての AdConfig
オプションを示します。
オプション |
説明 |
|
[広告を閉じる] ボタンが表示される前に [戻る] ボタンを有効にする必要がある場合は「true」、それ以外の場合は「false」を設定します。 |
|
動画広告を自動回転させる場合は AdConfig.AUTO_ROTATE 、そうでない場合は AdConfig.LANDSCAPE または AdConfig.PORTRAIT で動画広告の再生方向に従います。 |
|
対象のアプリケーションに一致するオーディオ設定を使用して動画を開始する場合は「false」、アプリケーションに関係なくミュート状態で動画を開始する場合は「true」を設定します。 |
|
同じセッション内で再生された広告の数をトラッキングするための序数カウントを整数値で指定します。 |
注: 複数の広告に対して同じ AdConfig
オブジェクトを使用できます。
手順 5. リワード広告をカスタマイズする (オプション)
ポップアップ メッセージ ダイアログ
リワード広告用のポップアップ メッセージ ダイアログは、setIncentivizedFields
メソッドを使用して設定できます。
public static void setIncentivizedFields(@Nullable String userID, @Nullable String title, @Nullable String body, @Nullable String keepWatching, @Nullable String close)
報酬に関する考慮事項
ユーザーに報酬を与えるための基準はありません。決定はゲーム経済がどのように機能するかに依存します。開発者は、動画オプションを魅力的にするのに十分な報酬をユーザーに与える必要があります。ただし、報酬が IAP の購入に取って代わるほどではありません。リワード動画に 1 日あたりの視聴制限を設定することも重要です。これにより、ユーザーあたりの報酬の数を制限できます。
報酬として適切な金額を決定する際に、確認すべきいくつかの質問を以下に示します。
-
ユーザーにとって価値が高いものは、ソフト カレンシーですか、ハード カレンシーですか?
ソフト カレンシーは安価に提供できますが、ユーザーはすぐに使用できるアイテムの動画を視聴する傾向があります。また、リワード動画を使用して、ユーザーに新しいアイテムを紹介し、後で IAP を購入するように促すこともできます。 -
ユーザーへの報酬はどの程度魅力的ですか?
報酬が、ユーザーが実際に必要または望んでいるものであり、簡単に手に入れることができないものであることを確認する必要があります。 -
報酬は最も一般的な IAP とどのように比較されますか?
報酬は、その IAP を取得するための足がかり、またはユーザーが望む可能性があるが購入することはないものにする必要があります。 -
報酬は、ユーザーがゲームをプレイして平均的に獲得するものと比較してどうか?
ユーザーが 1 つのレベルをプレイするのみで同じ報酬額を獲得した場合、ユーザーは報酬に 15 秒の時間を費やす価値があると認識しない可能性があります。 -
ユーザーごとの 1 日あたりの報酬の数に上限を設ける必要がありますか?
はい。1 日の視聴制限を設定すると、ユーザーが獲得できる無料のアイテム/コインの数を制御するのことができます。
当社のアカウント管理チームもお手伝いします。monetize@vungle.com までメールでお問い合わせください。