はじめに
この記事では Vungle Windows SDK の詳細設定について説明します。Vungle の Windows SDK をまだ導入していない場合は、Windows 用スタート ガイドをご確認ください。
コンテンツ
playAdAsync 構成
PlayAdAsync
に AdConfig
オブジェクトを渡すことで、再生する広告を任意でカスタマイズできます。
using VungleSDK;
public sealed partial class SecondPage : Page
{
...
async void PlayVungleAdAsync()
{
//AdConfig オブジェクトの影響を受けるのは、この広告の再生のみです。
await sdkInstance.PlayAdAsync(new AdConfig(){
// お好みの構成オプションを設定します。
// 利用できるオプションの詳細な説明は、[構成オプション] セクションを確認してください。
Incentivized = true,
SoundEnabled = false
});
}
}
adConfig オブジェクト
AdConfig
オブジェクト インスタンスで利用できるプロパティは以下のとおりです。
メソッド | デフォルト | 説明 |
---|---|---|
Orientation |
DisplayOrientations. |
|
SoundEnabled |
true |
広告再生開始時の音声状態を設定します。
|
BackButtonImmediatelyEnabled |
false |
|
Incentivized |
false |
広告をインセンティブ モードに設定します: サーバー間のコールバックを使ってユーザーに報酬を与える場合は、この機能を使用してください。
|
UserId |
null |
サーバー間のコールバックでユーザー ID をあなたのサーバーに渡し、このユーザーがインセンティブ広告の視聴による報酬の対象となるか確認するのに使用します。 広告がインセンティブ広告でない場合、この設定は適用されません。 |
IncentivizedDialogTitle |
null |
インセンティブ広告をスキップする際に表示される、確認メッセージのタイトルを設定します。 広告がインセンティブ広告でない場合、この設定は適用されません。 |
IncentivizedDialogBody |
「Are you sure you want to skip this ad? If you do, you might not get your reward」 |
インセンティブ広告をスキップする際に表示される、確認メッセージの本文を設定します。 広告がインセンティブ広告でない場合、この設定は適用されません。 |
IncentivizedDialogCloseButton |
「Close」 |
インセンティブ広告をスキップする際に表示される、確認メッセージの「Cancel」ボタンの文字を設定します。 広告がインセンティブ広告でない場合、この設定は適用されません。 |
IncentivizedDialogContinueButton |
「COntinue」 |
インセンティブ広告をスキップする際に表示される、確認メッセージの「Keep watching」ボタンの文字を設定します。 広告がインセンティブ広告でない場合、この設定は適用されません。 |
Extra[0..7] |
null | このコードを使用して、年齢層、性別などの属性をトラッキングできます。 |
Placement |
null | ダッシュボードに表示するレポートを分かりやすくするため、任意で、広告配置名を設定します。 |
[閉じる] ボタンを表示する
ユーザーに広告を閉じるボタンを表示するかどうかを変更するには、Vungle ダッシュボードにあるアプリの詳細設定で、「forced view options」を使用します。
イベントに登録する
パブリッシャーの SDK は、広告再生に関して自分のアプリを制御するために、イベントコールバックを使うことができます。
UI スレッド メモ
イベント リスナーはバックグラウンド スレッドで実行されるため、実行前に、イベント リスナーの結果発生した UI の操作や更新は、下記の方法で実行前にメインの UI スレッドに渡す必要があります。
await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
new DispatchedHandler(() =>
{
//このブロックは UI スレッドで実行されます
}
));
VungleAd イベント
using VungleSDK;
public sealed partial class MainPage : Page
{
VungleAd sdkInstance;
public MainPage()
{
InitializeComponent();
var appId = "your Vungle App ID";
sdkInstance = AdFactory.GetInstance(appId);
sdkInstance.OnAdPlayableChanged += Sdk_OnAdPlayableChanged;
sdkInstance.OnAdStart += VungleAd_OnAdStart;
sdkInstance.OnAdEnd += VungleAd_OnAdEnd;
sdkInstance.OnVideoView += VungleAd_OnVideoView;
sdkInstance.Diagnostic += VungleAd_Diagnostic;
}
private void Sdk_OnAdPlayableChanged(object sender, AdPlayableEventArgs e)
{
//SDK が広告を表示する準備を整えた場合、e.AdPlayable パラメータが true で、
//このコールバックファンクションが呼び出されます。
//何らかの理由で利用できる広告がない場合、e.AdPlayable パラメータが false で、
//これコールバックファンクションが呼び出されます。。
}
private void VungleAd_OnAdStart(object sender, AdEventArgs e)
{
//広告再生の直前に呼び出されます
}
private void VungleAd_OnAdEnd(object sender, AdEndEventArgs e)
{
//ユーザーが広告視聴を終了し、コントロールがアプリケーションに戻ったときに呼び出されます。
//ユーザーが [Downalod] ボタンをクリックした場合、e.CallToActionClicked は true で返ります。
}
private void VungleAd_OnVideoView(object sender, AdViewEventArgs e)
{
//広告の再生終了時に呼び出されます。少なくとも次の条件が揃った場合、e.IsCompletedView は true を返します。
//広告の再生時間の80%の視聴が完了した場合。
// e.WatchedDuration が動画の最長視聴時間である場合 (ユーザーが動画をもう一度再生した場合)。
// e.VideoDuration が動画の総再生時間である場合。
}
private void VungleAd_Diagnostic(object sender, DiagnosticLogEvent e)
{
// SDK がログを送る場合に呼び出されます。
// e.Message にはログのメッセージが含まれます。
// e.Level はログのレベルを表します (Trace, Debug, Info, Warn, Error, Fatal)。
}
}
コメント