概要
インタースティシャル広告について
インタースティシャル広告は、アプリのインターフェースを覆うフルスクリーン広告です。これらは通常、アクティビティ間やゲームのレベル間の一時停止中など、アプリのフローの自然な移行ポイントに表示されます。一部のインタースティシャル広告はリワード広告です。
リワード広告について
リワード広告は、広告の視聴や広告の利用と引き換えに、ユーザーに価値のあるものを提供することで、優れたユーザー エクスペリエンスを提供します。この広告の視聴と引き換えに、通常、ゲームでの追加ライフ、仮想通貨、パズルのヒントなど、アプリ内の特典を獲得することができます (報酬の性質や量はユーザーが決定します)。アプリ内の自然な合間に表示されるリワード広告は、特に当社の推奨事項に従ってスキップできないようにした場合に、高い収益をもたらします。
リワード広告はインセンティブ広告として参照されることがあります。どちらの場合も、同等な広告のことを示しています。「リワード」が推奨されますが、SDK のコードと Reporting API では、インセンティブを使用します。
リワード広告を統合するには、アプリ内報酬 (推奨、以下で説明) とサーバー間コールバック (「このトピックに関する FAQ 記事」を参照) の 2 つの方法があります。アプリ内報酬は、ユーザーが広告ビューを正常に終了するか、ダウンロード ボタンをクリックすると、アプリ内で直接報酬を受け取ることができます。この手法の主な利点は、実装が簡単なことです。迅速な方法を探していて、リプレイ攻撃をあまり心配しないのであれば、こちらを利用できます。
Vungle は、Dynamic Template 広告を使ったさまざまな広告形式を提供するようになりました。広告再生に続いてエンドカードが表示される動画再生で構成されていた従来の広告形式とは違い、動画再生中にコールトゥアクション (CTA) ボタンが利用できるテンプレートを提供しています。動画広告を最後まで視聴したユーザーと同様に、ボタンをクリックしたユーザーにも報酬を与える必要があります。
手順 1. 基本的なプラグイン統合を完了する
インタースティシャル広告とリワード広告を Unity アプリに統合するには、基本的なプラグイン統合の記事に記載されている手順を実行します。この記事には補足情報が記載されていますが、基本的な統合が完了していることが前提となっています。
手順 2. イベント ハンドラー (オプション) を実装する
イベント ハンドラーは、広告の提示に関連する 5 つすべての Vungle SDK イベントについて設定できます。
- SDK によって動画広告の再生が開始されると、以下のイベントが起動します。ゲームプレイ、音響効果、アニメーションなどを一時停止する場合は、このイベントを使用すると便利です。
public static event Action onAdStartedEvent;
- SDK によって広告が終了すると、以下のイベントが起動します。ユーザーに報酬を与える場合や、ゲームプレイ、音響効果、アニメーションなどを再開する場合は、このイベントを使用すると便利です。
public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;
AdFinishedEventArgs
クラスは、以下のプロパティから構成されています。これらのプロパティにより、広告の再生結果を確認することができます。public class AdFinishedEventArgs : EventArgs { //Represents a BOOL whether or not the user clicked the download button. public bool WasCallToActionClicked{ get; set;} //Represents a bool whether or not the video can be considered a completed view. public bool IsCompletedView{ get; set;} }
- SDK によって広告の可用性ステータスが変更されると、以下のイベントが起動します。ブール値の
isAdPlayable
は、placementID
で指定された ID を持つ広告が再生可能かどうかを示します。public static event Action<string, bool> adPlayableEvent;
- SDK が正常に初期化されると、以下のイベントが起動します。
public static event Action onInitializeEvent;
サンプル コード:
void initializeEventHandlers()
{
Vungle.onAdStartedEvent += (placementID) => {
DebugLog ("Ad " + placementID + " is starting! Pause your game animation or sound here.");
};
Vungle.onAdFinishedEvent += (placementID, args) => {
DebugLog ("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked + ", is completed view:"
+ args.IsCompletedView);
};
Vungle.adPlayableEvent += (placementID, adPlayable) => {
DebugLog ("Ad's playable state has been changed! placementID " + placementID + ". Now: " + adPlayable);
};
Vungle.onInitializeEvent += () => {
adInited = true;
DebugLog ("SDK initialized");
};
}
手順 3. 広告を読み込んで再生する
広告配置用の広告を読み込む
すべての広告配置に対して、loadAd()
メソッドを呼び出して広告を読み込みます。
public static void loadAd(string placementID)
正しいプラットフォームにリンクされた placementID
を使用していることを確認してください。
サンプル コード:
string placementID;
#if UNITY_IPHONE
placementID = "ios_placement_id";
#elif UNITY_ANDROID
placementID = "android_placement_id";
#elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO
placementID = "windows_placement_id";
#endif
Vungle.loadAd(placementID);
広告が配置可能かどうかを確認する
広告配置用の広告のキャッシュが完了すると、次のイベントが呼び出されます。
public static event Action<string, bool> adPlayableEvent;
サンプル コード:
Vungle.adPlayableEvent += (placementID, adPlayable) => {
if(placementID == "ios_placement_id") {
playButtonPlacement1.enabled = adPlayable;
}
};
注意: キャッシュの最適化配置の場合、広告が使用可能になったときのみ、このイベントが呼び出されます。最適化された広告配置では、追加のアクションなしで入力を試行します。それ以外のすべての広告配置の場合は、読み込みが失敗したときにもにこのイベントが呼び出されます (この場合、adPlayable
は false
を返します)。
広告が配置可能かどうかは、次のメソッドを使用して確認することもできます。
public static bool isAdvertAvailable(string placementID);
広告を再生する
重要: 上記で説明した adPlayableEvent
関数から「true」が返されるまで、広告を再生しないでください。adPlayableEvent
関数から「true」が返される前に広告を再生しようとすると、広告を読み込む際のユーザー エクスペリエンスに影響を及ぼします。Android にデプロイする場合は、isAdvertAvailable()
から返された値を使用して、広告が使用可能な状態になっているかどうかを確認してください (使用可能な広告がない場合、adPlayableEvent
から「false」が返されることはありません)。
広告の配置準備ができたら、次のメソッドを使用して、その広告を再生できます。
public static void playAd(string placementID);
サンプル コード:
Vungle.playAd(placementID);