Skip to content

よくある質問

この記事では、アプリ内メッセージに関するよくある質問への回答を提供します。

アプリ内ブラウザメッセージとは何ですか?アプリ内メッセージとどう違いますか?

アプリ内ブラウザメッセージは、Webブラウザに送信されるアプリ内メッセージです。アプリ内ブラウザメッセージを作成するには、アプリ内メッセージキャンペーンまたはキャンバスを作成する際に、送信先フィールドでWebブラウザを選択してください。

デバイスがオフラインの場合、アプリ内メッセージは表示されますか?

場合によります。アプリ内メッセージはセッション開始時に配信されるため、デバイスがオフラインになる前にペイロードをダウンロードできていれば、オフライン中でもアプリ内メッセージを表示できます。ペイロードがダウンロードされていない場合、アプリ内メッセージは表示されません。

ユーザーのデバイスにすでにアプリ内メッセージのペイロードがあり、メッセージの有効期限が変更された場合、デバイス上の有効期限は更新されますか?

ユーザーがセッションを開始すると、Brazeは対象となるアプリ内メッセージに変更があったかどうかを確認し、それに応じて更新します。そのため、有効期限が変更された後にユーザーがセッションを記録すると、更新された情報とともにアプリ内メッセージがデバイスに送信されます。

アプリ内メッセージキャンペーンにサイレント時間を設定するにはどうすればよいですか?

サイレント時間機能は、アプリ内メッセージキャンペーンでは使用できません。この機能は、特定の時間帯にユーザーへのメッセージ送信を防止するために使用されます。アプリ内メッセージキャンペーンの場合、ユーザーはアプリ内でアクティブな場合にのみアプリ内メッセージを受信します。

回避策として、特定の時間帯にアプリ内メッセージを送信するには、以下のサンプル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

ユーザーはアプリ内メッセージを閉じた後、再度受信できますか?

キャンペーン

アプリ内メッセージキャンペーンでは、配信コントロールで再適格性を有効にすることで(ユーザーがキャンペーンを再度受信できるようにする)、ユーザーが再びキャンペーンを受信できるようにすることができます。再度受信できるまでの期間は、設定した再適格性ウィンドウと、Brazeが以前の送信をどのように記録したかによって異なります。再適格性がキャンペーンの動作やメッセージ受信とどのように関連するかについては、キャンペーンとキャンバスの再適格性を参照してください。

再適格性がオフの場合、ユーザーは一度受信した同じキャンペーンを、条件の一致だけでは通常再度受信しません。

キャンバス

キャンバスから送信されるアプリ内メッセージの場合、ユーザーがメッセージを再度表示できるかどうかは、キャンバスのエントリコントロール(ユーザーがキャンバスに再エントリできるようにするなど)やステップの設定によって決まります。キャンペーンの配信コントロールだけで決まるわけではありません。

アプリ内メッセージの適格性はいつ計算されますか?

アプリ内メッセージの適格性は、配信時に計算されます。アプリ内メッセージが午前7時に送信されるようにスケジュールされている場合、このアプリ内メッセージの適格性は午前7時にチェックされます。

アプリ内メッセージが表示される際の適格性は、アプリ内メッセージがダウンロードされてトリガーされるタイミングによって異なります。

アーカイブしたアプリ内メッセージキャンペーンがまだアプリ内メッセージのインプレッションを配信しているのはなぜですか?

これは、アプリ内メッセージキャンペーンがアクティブだったときにセグメント条件を満たしたユーザーに対して発生する可能性があります。

これを防ぐには、キャンペーン設定時に表示前にキャンペーン適格性を再評価するを選択してください。

アプリ内メッセージの開封数が表示されないのはなぜですか?

アプリ内メッセージでは開封指標は使用されません。Brazeは、メッセージが画面に表示されたときにインプレッションを記録し、ユーザーがメッセージ本文やボタンを操作したときにクリックを記録します。マルチチャネルのエクスポートやレポートにアプリ内メッセージの行が含まれている場合は、メールスタイルの開封数ではなく、インプレッションクリックを比較してください。定義については、アプリ内メッセージレポートを参照してください。

同じセッション中に複数のアプリ内メッセージを表示できますか?

はい。ただし、トリガーイベントの発生ごとに表示できるアプリ内メッセージは1つだけです。複数のアプリ内メッセージキャンペーンが同じトリガー(例:セッション開始)を共有している場合、そのトリガーが発生するたびに、最も優先度の高いメッセージのみが表示されます。セッション開始トリガーの場合、1セッションにつき1つのメッセージしか表示できず、次に対象となるメッセージを表示する機会は次のセッションになります。

複数のメッセージが同じ優先度レベルを共有している場合、最も新しく作成されたメッセージが最初に表示されます。セッション開始トリガーの場合、次に新しいメッセージは後続のセッションで表示されます。その他のトリガータイプの場合、次に新しいメッセージは、そのトリガーイベントが次に発生したときに表示されます。これは同じセッション内の場合も、後のセッションの場合もあります。

優先度バケット内の表示順序を制御するには、いずれかのキャンペーンの配信設定に移動し、Set exact priority を選択してから、キャンペーンをドラッグ&ドロップして希望の順序に並べ替えます。詳細については、優先度の選択を参照してください。

アプリ内メッセージのインプレッションとクリックはどのように記録されますか?

ユーザーのアクションによるインプレッションとクリックの記録方法については、アプリ内メッセージレポートを参照してください。従来のエディターで作成されたフルスクリーンメッセージに固有の例については、ユーザーアクション別のフルスクリーンメッセージの指標を参照してください。

Brazeはアプリ内メッセージの有効期限「1日後」をどのように計算しますか?

Brazeは、1日の有効期限を、ユーザーがメッセージを受信する資格を得てから24時間後として計算します。

テンプレートアプリ内メッセージとは?

アプリ内メッセージは、表示前にキャンペーン適格性を再評価するが選択されている場合、またはメッセージに以下のいずれかのLiquidタグが存在する場合に、テンプレートアプリ内メッセージとして配信されます。

  • canvas_entry_properties
  • connected_content
  • {sms.${*}}などのSMS変数
  • catalog_items
  • catalog_selection_items
  • event_properties

Brazeは、アイドル状態のアプリ内メッセージキャンペーン(まだアクティブだが送信されなくなった、または不要になったキャンペーン)にもテンプレート配信を使用します。これらのキャンペーンは、設定されたオーディエンスとトリガールールに引き続き従います。

Brazeは、アプリのパフォーマンスを保護するためにテンプレート配信を使用する場合もあります。Liquidコンテンツの準備によりセッション応答が数秒以上遅延する場合、Brazeは残りの処理を延期します。これらのメッセージはトリガーされた時点でレンダリングされます。

つまり、セッション開始時にデバイスはメッセージ全体ではなく、そのアプリ内メッセージのトリガーを受信します。ユーザーがアプリ内メッセージをトリガーすると、ユーザーのデバイスは実際のメッセージを取得するためにネットワークリクエストを行います。

セッション開始時にBrazeが処理するLiquidの量を削減するには、アプリ内メッセージのパフォーマンスを最適化するを参照してください。

アプリ内メッセージの中止動作はどのように機能しますか?

Brazeでは、ユーザーがメッセージを受信する条件を満たすアクションを実行したにもかかわらず、Liquidロジックによって不適格と判定されたためにメッセージを受信しなかった場合に、中止が発生します。例えば、次のようなケースです。

  1. Samがメールキャンペーンをトリガーするアクションを実行します。
  2. メールの本文には、カスタム属性のスコアが50未満の場合はこのメールを送信しないというLiquidロジックが含まれています。
  3. Samのカスタム属性スコアは20です。
  4. BrazeはSamにこのメールを送信すべきではないと認識し、メールが中止されます。
  5. 中止イベントが記録されます。

ただし、アプリ内メッセージはプルチャネルであるため、中止動作が少し異なります。

標準アプリ内メッセージの中止動作

アプリ内メッセージは、セッション開始時にデバイスにプルされ、デバイスにキャッシュされるため、インターネット接続の品質に関わらず、ユーザーにすぐにメッセージを配信できます。例えば、ユーザーがセッション内で5つのアプリ内メッセージを受信する場合、5つすべてがセッション開始時に受信されます。メッセージはローカルにキャッシュされ、定義されたトリガーイベント(セッション開始、ユーザーがカスタムイベントを記録するボタンをクリックした場合など)が発生すると表示されます。

つまり、アプリ内メッセージを中止すべきかどうかを判断するロジックは、トリガーが発生する前に実行されます。これを説明するために、メールの例のSamがプッシュ通知を購読していると仮定しましょう。

  1. Samが、Brazeを搭載したアプリを起動してセッションを開始します。
  2. ワークスペース内のアクティブなキャンペーンのオーディエンス条件に基づき、Samは5つの異なるキャンペーンの対象となる可能性があります。5つすべてがSamのデバイスにプルされ、キャッシュされます。
  3. Samはこれらのメッセージをトリガーするアクションをまだ実行していませんが、セッション中にそれらのメッセージを受信する可能性があります。
  4. 2つのアプリ内メッセージのLiquidには、Samがメッセージを受信することを除外するルール(スコアのカスタム属性が十分に高くないなど)が含まれています。
  5. Samには除外する2つのアプリ内メッセージは送信されませんが、残りの3つのメッセージは送信されます。
  6. 中止イベントは記録されません。

Samのケースでは中止の定義を満たさないため、Brazeは中止イベントを記録しません。Samはメッセージをトリガーするアクションを実行していません。アプリ内メッセージの場合、Brazeがメッセージを表示すべきではないと判断する前に、ユーザーが実際にトリガーを実行することはありません。

テンプレート化アプリ内メッセージの中止動作

テンプレート化アプリ内メッセージは、トリガーイベントの発生時にメッセージを表示すべきかどうかをSDKに再評価させます。これには異なる中止動作があります。次の例で説明します。

  1. Samが、Brazeを搭載したアプリを起動してBrazeセッションを開始します。
  2. アクティブなキャンペーンのオーディエンス条件により、Samはテンプレート化アプリ内メッセージの対象となる可能性があるため、メッセージペイロードなしでトリガー情報がデバイスに送信されます。
  3. Samがカスタムイベントを記録するボタンを選択し、テンプレート化アプリ内メッセージをトリガーします。
  4. Samのデバイスがアプリ内メッセージを取得するためにネットワークリクエストを行います。
  5. メッセージのLiquidロジックが中止につながるため、Brazeはこれを中止として記録します。Samはこの評価の前にトリガーアクションを実行しています。

アプリ内メッセージの中止動作の比較

次の表は、Samが経験したアプリ内メッセージのフローを比較したものです。

アプリ内メッセージ 中止動作
標準 Samがメッセージをトリガーするアクションを実行しなかったため、中止イベントは記録されませんでした。

標準アプリ内メッセージは中止を記録しません。中止の定義は「トリガーアクションを実行したにもかかわらずメッセージを表示しなかった」ことだからです。アプリ内メッセージはトリガーアクションが発生する前にデバイスに配信されるため、Liquidロジックにより省略されたアプリ内メッセージを中止とみなすことは適切ではありません。
テンプレート化 Samがテンプレート化アプリ内メッセージをトリガーするトリガーアクションを実行しましたが、Liquidテンプレート処理で中止を受けたため、中止イベントが記録されました。

テンプレート化アプリ内メッセージは、Liquidの評価がトリガーアクションの実行後に行われるため、中止を記録します。

アプリ内メッセージのConnected Contentはいつ実行されますか?

テンプレート化アプリ内メッセージの場合、Connected Contentやその他のLiquidタグは、トリガーイベントが発生しデバイスがメッセージペイロードをリクエストしたときに解決されます。ユーザーがメッセージ内のボタンをクリックしたときではありません。テンプレート化の取得ごとに、その表示のためのConnected Content呼び出しを含めることができます。

HTMLがConnected Contentによって返されたRESTデータを参照している場合、そのデータはメッセージがテンプレート化されたセッション内で利用可能です。複数のボタンが同じConnected Contentレスポンスを参照しても、クリック時に追加の呼び出しがトリガーされることはありません。

アプリ内メッセージキャンペーンのトリガー後の最大遅延時間はどれくらいですか?

アプリ内メッセージキャンペーンは、トリガーイベント後の配信を最大2時間(7,200秒)遅延させることができます。遅延オプションはすぐに遅延後です。より長い待機時間を設けるには、キャンバスでアプリ内メッセージステップの前に遅延ステップを追加してください。遅延の設定については、アクションベース配信を参照してください。

アプリ内メッセージの表示前に遅延が発生するのはなぜですか?

標準アプリ内メッセージは、トリガーイベント後にキャッシュされたペイロードの準備ができ次第表示されます。AndroidおよびiOSでは、メッセージ内で参照される大きな画像やその他のCDNホストのアセットが、アプリ内メッセージが表示される前にダウンロードが完了するまで短い遅延が発生する場合があります。

テンプレート化アプリ内メッセージおよび表示前にキャンペーンの適格性を再評価するが選択されたキャンペーンは、メッセージが表示される前にトリガー後に追加のネットワークリクエストが必要です。これにより短い遅延(安定した接続では通常100ミリ秒未満)が発生する場合があります。詳細については、ターゲットユーザーを選択するを参照してください。

アプリ内メッセージがダッシュボードのプレビューと異なって見えるのはなぜですか?

配信されたアプリ内メッセージは、次の場合にダッシュボードのプレビューと異なることがあります。

  • インテグレーションがカスタムスタイルを適用しているか、特定のプラットフォームでデフォルトのアプリ内メッセージUIをオーバーライドしている場合
  • プレビューが受信者と異なる属性を持つテストユーザープロファイルを使用している場合
  • テンプレート化コンテンツが、プレビューモードと送信時で異なる方法で解決される場合

外観を検証する際は、ターゲットオーディエンスと一致するプロファイルを持つテストユーザーでテストメッセージを送信してください。

マルチページアプリ内メッセージで各ページに同じ背景が使用されるのはなぜですか?

マルチページアプリ内メッセージの1ページで背景画像が有効になっている場合、その背景はメッセージ内のすべてのページに適用されます。ページごとに異なる背景を使用するには、JavaScriptを使用してページ間で画像を切り替えるカスタムHTMLブロックを使用してください。

Webアプリ内メッセージをテストするにはどうすればよいですか?

Webアプリ内メッセージのテスト送信には、テストデバイスでプッシュが有効になっている必要があります。テストフローはプッシュ通知を配信し、その通知がアプリまたはサイトを開いてアプリ内メッセージを表示するためです。同じプッシュベースのテストパスは、Brazeでプッシュが設定されていないすべてのプラットフォームに適用されますが、多くのモバイルインテグレーションではすでにプッシュが有効になっているため、プッシュが未設定である問題はWebで最も頻繁に発生します。代わりに、内部テストセグメントへのライブキャンペーンを使用してください。手順については、テストメッセージを送信を参照してください。

アプリ内メッセージにはプッシュインテグレーションが必要ですか?

アプリ内メッセージは、本番環境での動作にプッシュ通知を必要としません。アプリ内メッセージはBraze SDKを通じて配信され、プッシュインテグレーションなしでアクティブなアプリセッション中に表示されます。

ただし、アプリ内メッセージのテスト送信には、テストデバイスでプッシュが有効になっている必要があります。これは、テストアプリ内メッセージがプッシュ通知を通じて配信され、そのプッシュ通知がアプリ内メッセージの表示をトリガーするためです。テストユーザーはプッシュが有効であり、テストプッシュ通知をタップしてアプリ内メッセージを表示する必要があります。

本番キャンペーンでは、ユーザーはプッシュの関与なしに、キャンペーンのトリガー(セッション開始やカスタムイベントなど)に基づいてアプリ内メッセージを表示します。

アプリ内メッセージに余分な文字やレンダリングされない文字が表示されるのはなぜですか?

別のアプリ(ワードプロセッサーやWebページなど)からテキストをコピーすると、メッセージ本文に非表示または印刷不可の文字が挿入される場合があります。これらの文字は、不要な記号として表示されたり、カスタムメッセージ内のLiquidやHTMLを壊したりすることがあります。

不要な文字やレンダリングされない文字を修正するには、Brazeエディターで該当するテキストを再入力するか、表示されているテキストのみを選択して置換するのではなく、不要な文字を直接削除してください。特殊文字を含むカスタムHTMLメッセージの場合は、HTMLの<head>内に<meta charset="UTF-8">を追加してください。詳細については、文字エンコーディングを参照してください。

Android のフルスクリーン HTML アプリ内メッセージで閉じるボタンが隠れるのはなぜですか?

エッジツーエッジディスプレイを搭載したデバイス(Android 15以降を含む)では、フルスクリーン HTML アプリ内メッセージがシステムステータスバーの背面に描画され、レイアウト上部の閉じるコントロールが隠れることがあります。

Braze Android SDKバージョン37.0.0以降では、HTMLアプリ内メッセージにウィンドウインセットがデフォルトで適用され、コントロールがセーフエリア内に収まるようになっています。それでもユーザーに重なりが見られる場合は、最新のBraze Android SDKにアップグレードしてください。

古いSDKバージョンでは、この動作がデフォルトになる前に、開発者が BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled(true) を有効にすることで対応できました。

ドラッグ&ドロップのアプリ内メッセージをカスタマイズする際に知っておくべきことは何ですか?

ドラッグ&ドロップエディターは、モーダルおよびフルスクリーンの表示タイプをサポートしています。エディターブロックを使用して、これらのコンテナ内でコンテンツを構築します。

以下の点にご留意ください。

  • リンクとディープリンク: 各クリック時アクションには、デフォルトで1つのURLフィールドがあります。URLにLiquidを使用して、デバイス、アプリの種類、またはユーザー属性によってリンクを変えることができます。メッセージコンテナでは、プラットフォーム固有のクリック時動作を有効にして、プラットフォームごとに異なるリンクを設定することもできます。
  • 不透明度と背景: メッセージコンテナの不透明度は、メッセージ全体の背景に影響します。個々のブロックは、それぞれ独自の背景色を設定できます。より細かい制御を行うには、カスタムコードブロックでカスタムCSSを追加してください。
  • メッセージの幅: メッセージコンテナの最大幅は、エディターでは325 px未満に設定できません。これにより、小さな画面でもコンテンツが読みやすくなります。より狭いレイアウトが必要な場合は、カスタムCSSを使用してください。
  • プラットフォーム固有の背景: 1つのメッセージでは、Webとモバイルで同じ背景画像と色が使用されます。エディターでプラットフォームごとに異なる背景を設定することはできません。
  • マルチページメッセージ: 背景画像とメッセージレベルのクリック時アクションは、マルチページメッセージのすべてのページに適用されます。各ページで異なるフル画像を使用するには、次のページにリンクするボタンを追加してください。
  • メッセージレベルのスタイル: メッセージレベルのスタイルは、メッセージ全体に適用されます。
  • 背景画像: 背景画像はモーダルに合わせて引き伸ばされます。

エディターに関するその他の考慮事項については、アプリ内メッセージ準備ガイドを参照してください。

Android SDKのログで「Event was published, but no subscribers were found」とはどういう意味ですか?

このログは通常エラーではありません。Brazeが内部イベント(NoMatchingTriggerEventなど)を発行した際に、その時点でアプリ内メッセージやContent Cardsのリスナーが登録されていない場合に表示されることが多いです。

カスタムイベントでアプリ内メッセージがトリガーされることを期待しているときにこのログが表示される場合は、イベントが記録されていること、ユーザーがキャンペーンまたはキャンバスのオーディエンスに含まれていること、そしてメッセージがContent Cardsに依存している場合はContent Cardsが同期されていることを確認してください。

New Stuff!