メインコンテンツへスキップ
バナーアプリ内メッセージ(IAM)を使用すると、アプリUIをブロックせずにユーザーをガイドできます。ユーザーがアプリを操作し続けている間、画面の上部または下部に短いコンテキストメッセージを表示します。 通常、ユーザーが特定の瞬間に追加のコンテキストを必要とする場合、例えば初めて画面に到達したときや重要なワークフローを開始したときにバナーIAMを使用します。
アプリ内メッセージは、トリガー条件が満たされた場合にのみ表示されます。アプリからトリガーを設定することで、バナーが表示されるタイミングを正確に制御できます。

バナーIAMを使用するタイミング

以下の場合にオンボーディングでバナーIAMを使用します:
  • ユーザーが画面に到達したときにその画面を説明する
  • ユーザーを複数ステップのフローを通じてガイドする
  • ユーザーが次に取るべきアクションをハイライトする
  • オンボーディングを可視的だが邪魔にならないように保つ
構造化された複数画面のウォークスルーが必要な場合は、代わりにカードまたはカルーセルIAMを使用してください。

オンボーディングフローの例

ユーザーが初めてサイトまたはアプリを開くと、トップバナーがユーザーを歓迎し、探索を促します。ユーザーが製品をタップして詳細を表示すると、ボトムバナーが次に何をすべきかをガイドします。各バナーは、ユーザーが関連する画面に到達した場合にのみ表示されます。 このアプローチにより、ユーザーは関連性のあるときにのみガイダンスを見ることができます。

ビジュアル例:Eコマースオンボーディング

バナーIAMがEコマースアプリを通じてユーザーをガイドする方法は次のとおりです。この例では2つの別々のIAMを使用し、それぞれに3秒の自動閉じを設定しています。最初のバナーが閉じると、2番目のバナーのトリガーがアクティブになり、スムーズなシーケンシャルフローを作成します:

初期ウェルカムバナー

「任意の製品をタップして詳細を確認し、ショッピングを開始しましょう!」と表示するウェルカムバナー
ユーザーが最初にアプリを開くと、ボトムバナーが製品の探索を促します。

製品選択バナー

「製品を表示しています!すべての詳細を確認し、準備ができたらカートに追加してください。」と表示する製品バナー
ユーザーが製品をタップすると、バナーが製品詳細ビューのガイダンスを提供します。

前提条件

始める前に、以下を確認してください:
  • アクティブなOneSignalアプリ
  • アプリにOneSignal SDKがインストールされている
  • アプリコードからイベントをトリガーしたりメソッドを呼び出したりできる
  • OneSignal SDKのユーザー同意が付与されている(アプリ内メッセージングに必要)

バナーアプリ内メッセージを作成する

1

アプリ内メッセージに移動

OneSignalダッシュボードで、Messages → In-App Messagesに移動し、New In-App Messageを選択します。
2

バナータイプを選択

Message Typeで、TopまたはBottomを選択します。
3

コンテンツをデザイン

画面の目的を説明する短い見出し、必要に応じてオプションのサポートテキスト、次のアクションをガイドするオプションのボタンを含めます。
4

トリガーを設定

バナーが表示されるタイミングを定義する1つ以上の**アプリ内メッセージトリガー**を追加します。オプションで、メッセージが表示される頻度を制御する条件や制限を追加します。
5

表示時間を設定

自動閉じ(バナーが3〜10秒後に消える)またはユーザー閉じ可能(ユーザーが閉じるをタップするまでバナーが残る)を選択します。
6

メッセージをアクティブ化

バナーアプリ内メッセージを保存してアクティブ化します。
高い視認性のガイダンスにはトップバナーを使用し、主要なアクションに合わせた控えめなプロンプトにはボトムバナーを使用します。オンボーディングでは、ユーザーアクションを必要とせずにフローを進めるために自動閉じを使用します。
長い説明は避けてください。バナーIAMは詳細なオンボーディングやチュートリアル向けに設計されていません。

アプリからバナーをトリガーする

ユーザーが特定の画面に到達したり、アクションを完了したりしたときに、アプリ内メッセージトリガーを使用してバナーIAMをトリガーします。トリガーは、アプリコードから設定するキーと値のペアです。トリガー条件がIAMの表示ルールと一致すると、バナーが表示されます。
// ユーザーがダッシュボードを表示したときにトリガー
OneSignal.addTrigger('dashboard_viewed', 'true');
トリガーは、削除または更新しない限りセッション中は持続します。各トリガーが明確で意図的なオンボーディングの瞬間を表すようにしてください。

不要になったらトリガーを削除

バナーが意図せず再表示されるのを防ぐために、不要になったらトリガーを削除します:
// ユーザーがオンボーディングを完了したらトリガーを削除
OneSignal.removeTrigger('dashboard_viewed');

バナーメッセージをチェーン(オプション)

それぞれ独自のトリガーを持つ複数のIAMを作成することで、ユーザーをフローを通じてガイドできます。各バナーを3秒後に自動閉じに設定して、次のバナーが表示されるようにします。バナーの重複を防ぐために、次のトリガーを追加する前に前のトリガーを削除します。
スムーズなシーケンシャルオンボーディングのために、ステップごとに1つのIAMを作成し、それぞれを3秒後に自動閉じに設定し、次のトリガーを追加するときに前のトリガーを削除してチェーンします。

例:Eコマースオンボーディングフロー

  1. ページ読み込み → トリガー iam_welcome → バナー:「🎉 ようこそ!製品を探索」
  2. ユーザーが製品をタップ → トリガー iam_product_view → バナー:「👀 ❤️をタップしてお気に入りを保存」
  3. ユーザーがカートに追加 → トリガー iam_add_to_cart → バナー:「✅ いい選択!いつでもカートを表示」
  4. ユーザーがカートを表示 → トリガー iam_cart_view → バナー:「🛒 ここでアイテムを確認」
  5. ユーザーがチェックアウト → トリガー iam_checkout → バナー:「🎊 ご注文ありがとうございます!」
// ステップ1からステップ2へ移動
OneSignal.removeTrigger('iam_welcome');
OneSignal.addTrigger('iam_product_view', 'true');
これにより、ユーザーを圧倒することなく段階的なオンボーディングが作成されます。

セットアップを確認

バナーはトリガーが発火したときにのみ表示され、アプリUIをブロックしません。
バナーが表示されない場合:
  • トリガーキーと値が正確に一致することを確認(大文字小文字を区別)
  • IAMがダッシュボードでアクティブであることを確認
  • 頻度制限を確認 - IAMがレート制限されている可能性があります
  • ユーザーがターゲティングルールを満たしていることを確認(該当する場合)
  • OneSignalトリガーイベントのコンソールログを確認
  • アプリ内メッセージングの同意が付与されていることを確認(必要な場合)

次のステップ

  • バナーアプリ内メッセージを使用して新機能を発表
  • カードまたはカルーセルIAMで完全なオンボーディング体験を作成
  • ユーザーをセグメント化して経験レベルに基づいて異なるオンボーディングメッセージを表示
  • 異なるバナーメッセージをA/Bテストしてエンゲージメントを最適化