アプリ内メッセージ統合
この実装ガイドでは、アプリ内メッセージコードの考慮事項と、関連するコードスニペットについて説明します。サンプル統合コードが提供されていますが、トリガーメッセージを処理し、希望する UI 内で表示するためのロジックを追加する必要があります。
コードはアプリ固有であるため、ユースケースに関連しない場合は、列挙されたすべての状況に対応する必要はありません。たとえば、アプリ内メッセージの遅延表示を使用しない場合、そのロジックおよびエッジケースを実装する必要はありません。
SDK 要件
アプリ内メッセージは、サポートされている最小 SDK バージョンを実行中の Roku デバイスにのみ送信されます。
アプリ内メッセージの設定
アプリ内メッセージを処理するため、BrazeTask.BrazeInAppMessage
でオブザーバーを追加できます。
1
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")
次に、ハンドラ内で、キャンペーンでトリガーされた最上位のアプリ内メッセージにアクセスできます。
1
2
3
4
sub onInAppMessageReceived()
in_app_message = m.BrazeTask.BrazeInAppMessage
...
end sub
アプリ内メッセージのフィールド
以下は、アプリ内メッセージを処理するために必要なフィールドのリストです。
フィールド | 説明 | |
---|---|---|
buttons |
ボタンのリスト(空のリストである可能性があります)。 | |
click_action |
"URI" または "NONE" 。このフィールドを使用して、URI リンクに対してアプリ内メッセージを開くか、クリックしたときにメッセージを閉じるかを指定します。ボタンがない場合、アプリ内メッセージが表示されているときにユーザーが「OK」をクリックすると、これが発生するはずです。 |
|
dismiss_type |
"AUTO_DISMISS" または "SWIPE" 。このフィールドを使用して、アプリ内メッセージが自動的に閉じられるか、スワイプで消去する必要があるかを指定します。 |
|
display_delay |
アプリ内メッセージを表示するまでの待機時間(秒)。 | |
duration |
dismiss_type が"AUTO_DISMISS" に設定されている場合、メッセージが表示される時間(ミリ秒)。 |
|
extras |
キーと値のペア。 | |
header |
ヘッダーのテキスト。 | |
id |
インプレッションやクリックを記録するために使用されるID。 | |
image_url |
アプリ内メッセージ画像URL。 | |
message |
メッセージ本文テキスト。 | |
uri |
URI ユーザーは click_action に基づいて送信されます。このフィールドはclick_action が"URI" のときに含める必要があります。 |
ボタンを含むアプリ内メッセージの場合、ボタンテキストを追加する前にクリックアクションが追加されると、メッセージ click_action
も最終ペイロードに含まれます。
スタイル指定フィールド
ダッシュボードから使用するよう選択できるさまざまなスタイル指定フィールドもあります。
フィールド | 説明 |
---|---|
bg_color |
バックグラウンド色。 |
close_button_color |
閉じるボタンの色。 |
frame_color |
バックグラウンド画面オーバーレイの色。 |
header_text_color |
ヘッダーテキストの色。 |
message_text_color |
メッセージテキストの色。 |
text_align |
「START」、「CENTER」、または「END」。選択したテキストの配置。 |
また、アプリ内メッセージを実装し、Roku アプリケーション内で標準パレットを使用してそのスタイルを指定することもできます。
ボタンフィールド
フィールド | 説明 |
---|---|
click_action |
"URI" または "NONE" 。このフィールドを使用して、URI リンクに対してアプリ内メッセージを開くか、クリックしたときにメッセージを閉じるかを指定します。 |
id |
ボタン自体のID値。 |
text |
ボタンに表示するテキスト。 |
uri |
URI ユーザーは click_action に基づいて送信されます。このフィールドはclick_action が"URI" のときに含める必要があります。 |
インタラクションの処理
キャンペーンの分析を処理するために特定の関数が呼び出されることを確認する必要があります。
メッセージが表示された場合
メッセージが表示または確認されたら、インプレッションをロギングします。
1
LogInAppMessageImpression(in_app_message.id, brazetask)
ユーザーがメッセージをクリックした場合
ユーザーがメッセージをクリックしたら、クリックをロギングし、in_app_message.click_action
を処理します。
1
LogInAppMessageClick(in_app_message.id, brazetask)
ユーザーがボタンをクリックした場合
ユーザーがボタンをクリックしたら、ボタンクリックをロギングし、inappmessage.buttons[selected].click_action
を処理します。
1
LogInAppMessageButtonClick(inappmessage.id, inappmessage.buttons[selected].id, brazetask)
アプリ内メッセージの処理後
アプリ内メッセージの処理後に、フィールドをクリアする必要があります。
1
m.BrazeTask.BrazeInAppMessage = invalid