プレースメントを追加する (レガシー)
Rokt .NET MAUI SDK は、Rokt のパートナーがオーバーレイおよび埋め込みプレースメントを表示するため、または Rokt の広告主がキャンペーンのコンバージョンを記録するために使用できます。
始める前に
Rokt .NET MAUI SDK がアプリケーションに統合されていることを確認してください。
オーバーレイプレースメント
SDK の実行
適切な顧客属性を追加して、希望するポイントで SDK を実行します。これにより、Rokt プレースメントが表示されます。
Rokt 統合に含める顧客属性を指定できます。利用可能なデータフィールドの詳細は、attributes ページで確認できます。より多くの属性を統合したい場合は、以下のサンプルに新しい属性ごとに追加のコード行を追加できます。
using Rokt.Maui.Sdk;
// RoktExperience を viewName に置き換えてください
Rokt.Maui.Sdk.Rokt.Execute(
viewName: "RoktExperience",
attributes: new Dictionary<string, string>()
{
{"email", "j.smith@example.com"},
{"firstname", "Jenny"},
{"lastname", "Smith"},
{"mobile", "(555)867-5309"},
{"postcode", "90210"},
{"country", "US"}
},
onLoad: () => {
// Rokt プレースメントがロードされたときのオプションのコールバック
},
onUnload: () => {
// Rokt プレースメントがアンロードされたときのオプションのコールバック
},
onShouldShowLoadingIndicator: () => {
// ローディングインジケーターを表示するためのオプションのコールバック
},
onShouldHideLoadingIndicator: () => {
// ローディングインジケーターを非表示にするためのオプションのコールバック
}
);
viewName (“RoktExperience”) は、アプリ内で SDK が実行されるコンテキストに応じて異なるエクスペリエンスを表示するために、複数の場所で SDK を実行する際に変更できます。viewName を変更する場合は、Rokt システム内で一致する調整が行われるように Rokt チームと協力してください。
埋め込み配置
RoktEmbeddedViewHandlerの設定
最初に、MauiAppBuilderでRoktEmbeddedViewとそのハンドラーを設定する必要があります。
using Rokt.Maui.Sdk;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureMauiHandlers(handlers =>
{
handlers.AddHandler(typeof(RoktEmbeddedView), typeof(RoktEmbeddedViewHandler));
});
return builder.Build();
}
}
RoktEmbeddedViewHandlerの追加
RoktEmbeddedViewをページのXAMLに追加します。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:sdk="clr-namespace:Rokt.Maui.Sdk;assembly=Rokt.Maui.Sdk"
x:Class="SampleApp.MainPage">
<ScrollView>
<VerticalStackLayout
Padding="30,0"
Spacing="25">
<sdk:RoktEmbeddedView
x:Name="RoktEmbedded1"/>
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Rokt .NET MAUI SDK の実行
適切なカスタマー属性を送信することで、希望するポイントでSDKを実行します。Roktのプレースメントは、Roktプラットフォームで設定可能な短い遅延の後に表示されます。
Rokt統合に含めるカスタマー属性を指定できます。利用可能なデータフィールドの詳細は、attributesページで確認できます。より多くの属性を統合したい場合は、以下のサンプルに新しい属性ごとに追加のコード行を追加できます。
using Rokt.Maui.Sdk;
// RoktEmbeddedExperience を viewName に置き換えます
Rokt.Maui.Sdk.Rokt.Execute(
viewName: "RoktEmbeddedExperience",
attributes: new Dictionary<string, string>()
{
{"email", "j.smith@example.com"},
{"firstname", "Jenny"},
{"lastname", "Smith"},
{"mobile", "(555)867-5309"},
{"postcode", "90210"},
{"country", "US"}
},
placeholders: new Dictionary<string, RoktEmbeddedView>()
{
{"RoktEmbedded1", RoktEmbedded1}
},
onLoad: () => {
// Roktプレースメントがロードされたときのオプションのコールバック
},
onUnload: () => {
// Roktプレースメントがアンロードされたときのオプションのコールバック
},
onShouldShowLoadingIndicator: () => {
// ローディングインジケーターを表示するオプションのコールバック
},
onShouldHideLoadingIndicator: () => {
// ローディングインジケーターを非表示にするオプションのコールバック
}
);
viewName(「RoktEmbeddedExperience」)は、SDKを複数の場所で実行する際に変更できます。この設定により、アプリ内でSDKが実行されるコンテキストに応じて異なるエクスペリエンスを表示することができます。viewName または placeholderName(「RoktEmbedded1」)を変更する場合は、Roktシステム内で一致する調整が行われるようにRoktチームと協力してください。
イベント
Rokt .NET MAUI SDK は、SDK イベントのために IAsyncEnumerable インターフェースを介して非同期ストリームを公開しています。例えば、Rokt を呼び出すページで RoktEvents() を反復処理することで、イベントをリッスンし、反応することができます。
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
// ページが読み込まれたときにリッスンを開始する
Loaded += OnPageLoaded;
}
private async void OnPageLoaded(object? sender, System.EventArgs e)
{
await foreach(var roktEvent in Rokt.Maui.Sdk.Rokt.RoktEvents())
{
Console.Out.Writeline(roktEvent);
}
}
}
イベントオブジェクト
| イベント | 説明 | その他のプロパティ |
|---|---|---|
| ShowLoadingIndicator | SDK が Rokt バックエンドを呼び出す前にトリガーされる | ViewName: string |
| HideLoadingIndicator | SDK が Rokt バックエンドから成功または失敗を受信したときにトリガーされる | ViewName: string |
| OfferEngagement | ユーザーがオファーに関与したときにトリガーされる | ViewName: string, PlacementId: string |
| PositiveEngagement | ユーザーがオファーに積極的に関与したときにトリガーされる | ViewName: string, PlacementId: string |
| PlacementInteractive | プレースメントがレンダリングされ、対話可能になったときにトリガーされる | ViewName: string, PlacementId: string |
| PlacementReady | プレースメントが表示準備が整ったが、まだコンテンツがレンダリングされていないときにトリガーされる | ViewName: string, PlacementId: string |
| PlacementClosed | ユーザーによってプレースメントが閉じられたときにトリガーされる | ViewName: string, PlacementId: string |
| PlacementCompleted | オファーの進行が終了し、表示するオファーがなくなったときにトリガーされる | ViewName: string, PlacementId: string |
| PlacementFailure | 何らかの失敗によりプレースメントを表示できなかった場合、または表示するプレースメントがない場合にトリガーされる | ViewName: string, PlacementId: string (optional) |
コールバック
Rokt .NET MAUI SDKは、executeに渡される以下のコールバックをサポートしています:
onLoad
onLoadコールバックは、プレースメントがロードされてインタラクティブになったときに呼び出されます。このコールバックは引数を提供せず、値を返しません。
onShouldShowLoadingIndicator
onShouldShowLoadingIndicatorは、executeの呼び出しが成功した直後に、SDKがRoktバックエンドへの呼び出しをトリガーする直前に呼び出されます。プレースメントのロードを待っている間に、ロードインジケーターの進捗ビューを表示するために使用できます。引数を必要とせず、値を返しません。
onShouldHideLoadingIndicator
onShouldHideLoadingIndicatorコールバックは、SDKがRoktバックエンドから成功または失敗のレスポンスを取得したときに呼び出されます。進捗ビューやロードインジケーターをキャンセルするために使用できます。引数を必要とせず、値を返しません。
onUnload
onUnloadコールバックは、SDKがプレースメントを閉じたときに呼び出されます。また、executeの呼び出しが失敗した場合にもトリガーされます。引数を必要とせず、値を返しません。