よくある質問
この記事では、アプリ内メッセージに関するよくある質問への回答を提供します。
ブラウザ内メッセージとは何ですか?アプリ内メッセージとの違いは何ですか?
ブラウザ内メッセージは、Webブラウザに送信されるアプリ内メッセージです。ブラウザ内メッセージを作成するには、アプリ内メッセージのCampaignまたはCanvasを作成する際に、送信先フィールドでWebブラウザを選択してください。
デバイスがオフラインの場合、アプリ内メッセージは表示されますか?
場合によります。アプリ内メッセージはセッション開始時に配信されるため、オフラインになる前にデバイスがペイロードをダウンロードできていれば、オフライン中でもアプリ内メッセージを表示できます。ペイロードがダウンロードされていない場合、アプリ内メッセージは表示されません。
ユーザーのデバイスにすでにアプリ内メッセージのペイロードがあり、メッセージの有効期限が変更された場合、デバイス上の有効期限は更新されますか?
ユーザーがセッションを開始すると、Brazeは対象となるアプリ内メッセージに変更があったかどうかを確認し、それに応じて更新します。そのため、有効期限が変更され、ユーザーがセッションを記録した場合、アプリ内メッセージは更新された情報とともにデバイスに送信されます。
アプリ内メッセージCampaignにサイレントアワーを設定するにはどうすればよいですか?
サイレントアワー機能は、アプリ内メッセージCampaignでは使用できません。この機能は、特定の時間帯にユーザーへのメッセージ送信を防止するために使用されます。アプリ内メッセージCampaignの場合、ユーザーはアプリ内でアクティブな場合にのみアプリ内メッセージを受信します。
特定の時間帯にアプリ内メッセージを送信するための回避策として、以下のサンプルLiquidコードを使用してください。これにより、指定されたタイムゾーンで午後7時59分以降または午前8時より前にアプリ内メッセージが表示された場合、メッセージが中止されます。
1
2
3
4
5
{% assign time = 'now' | time_zone: ${time_zone} %}{% assign hour = time | date: '%H' | plus: 0 %}
{% if hour > 19 or hour < 8 %}
{% abort_message("Outside allowed time window") %}
{% endif %}
MESSAGE HERE
ユーザーがアプリ内メッセージを閉じた後、再度受信できますか?
Campaigns
アプリ内メッセージCampaignの場合、配信コントロールで再適格性を有効にすることで(ユーザーがCampaignを再度受信できるようにする)、ユーザーが再びCampaignを受信できるようにすることができます。再度受信できるまでの期間は、設定した再適格性の時間枠と、Brazeが以前の送信をどのように記録したかによって異なります。Campaignの動作(再適格性とメッセージ受信の関係を含む)については、CampaignとCanvasの再適格性を参照してください。
再適格性がオフの場合、ユーザーは一般的に、受信後に適格条件のみに基づいて同じCampaignを再度受信することはありません。
Canvases
Canvasから送信されるアプリ内メッセージの場合、ユーザーがメッセージを再度表示できるかどうかは、Canvasのエントリコントロール(ユーザーがCanvasに再エントリできるようにするかどうかなど)とステップの設定に依存し、Campaignの配信コントロールだけではありません。
アプリ内メッセージの適格性はいつ計算されますか?
アプリ内メッセージの適格性は、配信時に計算されます。アプリ内メッセージが午前7時に送信されるようにスケジュールされている場合、このアプリ内メッセージの適格性は午前7時にチェックされます。
アプリ内メッセージが表示された後の適格性は、アプリ内メッセージがダウンロードされトリガーされたタイミングに依存します。
アーカイブしたアプリ内メッセージCampaignがまだアプリ内メッセージのインプレッションを配信しているのはなぜですか?
これは、アプリ内メッセージCampaignがアクティブだったときにSegment条件を満たしたユーザーに対して発生する可能性があります。
これを防ぐには、Campaign設定時に表示前にCampaignの適格性を再評価するを選択してください。
同じセッション内で複数のアプリ内メッセージを表示できますか?
はい。ただし、トリガーイベントの発生ごとに表示できるアプリ内メッセージは1つだけです。複数のアプリ内メッセージCampaignが同じトリガー(例:セッション開始)を共有している場合、そのトリガーが発生するたびに最も優先度の高いメッセージのみが表示されます。セッション開始トリガーの場合、セッションごとに1つのメッセージのみ表示でき、次に適格なメッセージを表示する機会は次のセッションになります。
複数のメッセージが同じ優先度レベルを共有している場合、最も新しく作成されたメッセージが最初に表示されます。セッション開始トリガーの場合、次に新しいメッセージは後続のセッションで表示されます。その他のトリガータイプの場合、次に新しいメッセージは次にそのトリガーイベントが発生したときに表示されます(同じセッション内の場合もあれば、後のセッションの場合もあります)。
優先度バケット内の表示順序を制御するには、いずれかのCampaignの配信設定に移動し、正確な優先度を設定を選択してから、Campaignをドラッグ&ドロップして希望の順序に並べ替えてください。詳細については、優先度の選択を参照してください。
Brazeは「1日後」に設定されたアプリ内メッセージの有効期限をどのように計算しますか?
Brazeは、ユーザーがメッセージを受信する資格を得てから24時間後を1日の有効期限として計算します。
テンプレート化されたアプリ内メッセージとは何ですか?
アプリ内メッセージは、表示前にCampaignの適格性を再評価するが選択されている場合、またはメッセージ内に以下のいずれかのLiquidタグが存在する場合に、テンプレート化されたアプリ内メッセージとして配信されます。
canvas_entry_propertiesconnected_content{sms.${*}}などのSMS変数catalog_itemscatalog_selection_itemsevent_properties
これは、セッション開始時にデバイスがメッセージ全体ではなく、そのアプリ内メッセージのトリガー情報を受信することを意味します。ユーザーがアプリ内メッセージをトリガーすると、ユーザーのデバイスが実際のメッセージを取得するためにネットワークリクエストを行います。
デバイスがインターネットにアクセスできない場合、メッセージは配信されません。Liquidロジックの解決に時間がかかりすぎる場合も、メッセージが配信されない可能性があります。
アプリ内メッセージの中止動作はどのように機能しますか?
Brazeにおいて、中止とは、ユーザーがメッセージを受信する資格を得るアクションを実行したにもかかわらず、Liquidロジックによって不適格と判定されたためにメッセージを受信しなかった場合に発生します。例えば:
- SamがメールCampaignをトリガーするアクションを実行します。
- メールの本文には、カスタム属性のスコアが50未満の場合はこのメールを送信しないというLiquidロジックが含まれています。
- Samのカスタム属性スコアは20です。
- Brazeは、Samがこのメールを受信すべきでないと認識し、メールが中止されます。
- 中止イベントが記録されます。
ただし、アプリ内メッセージはプルチャネルであるため、中止の動作が少し異なります。
標準アプリ内メッセージの中止動作
アプリ内メッセージは、セッション開始時にデバイスによってプルされ、デバイスにキャッシュされるため、インターネット接続の品質に関係なく、メッセージをユーザーに即座に配信できます。例えば、ユーザーがセッション内で5つのアプリ内メッセージを受信する場合、セッション開始時に5つすべてを受信します。メッセージはローカルにキャッシュされ、定義されたトリガーイベント(セッション開始、ユーザーがカスタムイベントを記録するボタンをクリックするなど)が発生したときに表示されます。
つまり、アプリ内メッセージを中止すべきかどうかを判断するロジックは、トリガーが発生する前に実行されます。これを説明するために、メールの例のSamがプッシュ通知を購読していると仮定しましょう。
- SamがBraze搭載アプリを起動してセッションを開始します。
- ワークスペース内のアクティブなCampaignのオーディエンス条件に基づき、Samは5つの異なるCampaignの対象となる可能性があります。5つすべてがSamの端末にプルされ、キャッシュされます。
- Samはこれらのメッセージをトリガーするアクションをまだ実行していませんが、セッション内でそれらのメッセージを受信する可能性があります。
- 2つのアプリ内メッセージのLiquidには、Samがメッセージを受信することを除外するルール(スコアのカスタム属性が十分に高くないなど)があります。
- Samには除外される2つのアプリ内メッセージは送信されませんが、残りの3つのメッセージは送信されます。
- 中止イベントは記録されません。
BrazeがSamのケースで中止イベントを記録しないのは、中止の定義を満たさないためです。Samはメッセージをトリガーするアクションを実行していません。アプリ内メッセージの場合、Brazeがメッセージを表示すべきでないと判断する前に、ユーザーが実際にトリガーを実行することはありません。
テンプレート化されたアプリ内メッセージの中止動作
テンプレート化されたアプリ内メッセージは、トリガーイベントが発生したときにメッセージを表示すべきかどうかをSDKに再評価させます。これにより、中止動作が異なります。以下の例を考えてみましょう。
- SamがBraze搭載アプリを起動してBrazeセッションを開始します。
- アクティブなCampaignのオーディエンス条件により、Samはテンプレート化されたアプリ内メッセージの対象となる可能性があるため、メッセージペイロードなしでトリガー情報がデバイスに送信されます。
- Samがカスタムイベントを記録するボタンを選択し、テンプレート化されたアプリ内メッセージをトリガーします。
- Samのデバイスがアプリ内メッセージを取得するためにネットワークリクエストを行います。
- メッセージのLiquidロジックにより中止が発生し、Brazeはこれを中止として記録します。Samはこの評価の前にトリガーアクションを実行しています。
アプリ内メッセージの中止動作の比較
この表は、Samが経験したアプリ内メッセージのフローを比較しています。
| アプリ内メッセージ | 中止動作 |
|---|---|
| 標準 | Samがメッセージをトリガーするアクションを実行していないため、中止イベントは記録されませんでした。 標準アプリ内メッセージは中止を記録しません。中止の定義は「トリガーアクションを実行したにもかかわらずメッセージを表示しなかった」ことだからです。アプリ内メッセージはトリガーアクションが発生する前にデバイスに配信されるため、Liquidロジックにより除外されたアプリ内メッセージを中止と見なすことは適切ではありません。 |
| テンプレート化 | Samがテンプレート化されたアプリ内メッセージをトリガーするトリガーアクションを実行したが、Liquidテンプレート処理で中止を受けたため、中止イベントが記録されました。 テンプレート化されたアプリ内メッセージは、トリガーアクションが実行された後にLiquid評価が行われるため、中止を記録します。 |