概要
MoEngage のトランザクショナル Live Activities は、iPhone のロック画面と Dynamic Island 上で、リアルタイムの 1:1 更新を提供します。多数のユーザーに同じ更新を送信する Broadcast Live Activities とは異なり、トランザクショナル Live Activities は時間的制約のあるユーザージャーニー向けにパーソナライズされた更新を配信します。この機能により、ユーザーはスマートフォンのロックを解除したりアプリを開いたりすることなく、フードデリバリーの追跡、配車ステータス、サービス予約などの情報を確認できます。 この記事では、MoEngage Inform を使用して、トランザクショナルなユースケース向けにこれらのリアルタイム体験を作成、管理、分析する方法について説明します。


- iOS
- iPad OS
- Watch OS
ユースケース
トランザクショナル Live Activities により、さまざまなリアルタイムのサービスおよびエンゲージメントのシナリオが可能になります。- 配送とロジスティクス: フードや荷物の配達について、リアルタイムの注文ステータス、ドライバーの位置、到着予定時刻(ETA)を表示します。
- サービス予約: 技術者やサービス提供者(配管工、電気技師など)の到着を追跡します。
- 配車: ドライバーの詳細、車のメーカー/モデル、到着までのカウントダウンを表示します。
- 金融: 時間的制約のある送金、ローン処理のステップ、または認証リクエストのステータスを可視化します。
トランザクショナル Live Activities の仕組み
トランザクショナル Live Activities は、進行中のイベントからの動的な更新を表示します。システムはイベントベースの通知を配信し、ユーザーはロック画面または通知センターから直接進捗を追跡できます。ユーザーインタラクションと UI
- オプトイン: ユーザーがイベントを明示的にフォローする Broadcast アクティビティとは異なり、トランザクショナルアクティビティは通常、アプリ内(注文やタクシーの予約など)またはアプリ外(オフライン KYC の開始など)でのユーザーのアクションによって開始されます。
- 表示: アクティビティはロック画面と Dynamic Island に表示されます。Dynamic Island を長押しすると、表示が展開されます。
- UI: 開発チームがインターフェイスをカスタマイズします。インターフェイスは、MoEngage 経由で送信されるデータに基づき、テキスト、画像、進捗インジケーターでリアルタイムに更新されます。
権限
Live Activities は、プッシュ通知とは別の権限を使用します。この権限は、ユーザーがアプリをインストールした時点でデフォルトでオンになっています。 iOS は、Live Activities が引き続き有用かどうかを定期的に監視します。ユーザーがほとんど操作しない場合、オフにするオプションが表示されることがあります。 エンドユーザーは、この設定を管理するために以下の手順を実行する必要があります。- デバイスで Settings を開きます。
- 下にスクロールして [アプリ名] を選択します。
- Live Activities をタップします。
- 設定のオン/オフを切り替えます。

- MoEngage は、Live Activity の PTS トークンと権限ステータスをデバイス属性としてトラッキングします。
- MoEngage SDK は、Live Activity の権限ステータスをデバイス属性として自動的に監視・更新します。このチェックは、アプリがフォアグラウンドで開かれるたびに行われます。
- この権限ステータスが変更されると、Unsubscribed to Live activity や Subscribed to Live activity などのイベントがトリガーされます(初回の権限付与はデフォルトの状態であるため、Subscribed to Live activity はトリガーされません)。
- この機能はプッシュ通知の権限とは連動しておらず、デフォルトで付与されます。iOS システムは Live Activities の使用状況を定期的に確認し、ユーザーはいつでも無効にできます。
トランザクショナル Live Activity のライフサイクル
Live Activity のライフサイクルを管理することで、画面を煩雑にすることなく、ユーザーにタイムリーな情報を届けることができます。各ステージの実際の動作は以下のとおりです。- 開始(Initiation)
Live Activity は次の 2 つの方法で開始できます。- お客様または開発者が、Inform API 経由でリモートから(サーバー側)Live Activity を開始できます。
- エンドユーザーが、デバイスからローカルで(ボタンのタップ直後など)開始できます。この場合、バックエンドで App SDK が使用されます。
- 更新(リアルタイムステータス)
イベントの進行に合わせて更新を送信し、画面上のデータを更新します。更新は Inform API 経由でのみ実行する必要があります。
エンドユーザーがアプリからローカルでアクティビティを開始した場合でも、トークンが同期された後は、お客様または開発者のみが API 経由で更新できます。
- 終了(完了)
トランザクションが完了したら、アクティビティを終了してユーザーの画面から削除する必要があります。お客様または開発者は、Inform API 経由でのみアクティビティを終了する必要があります。 終了しない場合、設定されたdismissal_dateに達した時点で自動的に終了します。
例: ユーザーがコーヒーを受け取ります。バックエンドが End API 呼び出しをトリガーします。ウィジェットに「Enjoy your coffee!」と表示され、その後、非表示時間のロジックに基づいて画面から消えます。
「Transaction ID」は、Live Activity のライフサイクル全体を通じたキー属性です。コーヒー注文の例で注文 ID が 123 の場合、同じ Live Activity を管理するために、開始、更新、終了の各リクエストで同じトランザクション ID(123)を使用する必要があります。
トランザクショナル Live Activities の種類
MoEngage Inform は、配信とユーザーへのリーチを処理するために、2 つのメッセージタイプ(iOS のみサポート)をサポートしています。- Live Activity のみ
- プッシュフォールバック付き Live Activity
このモードでは、システムは Live Activity の開始を試みます。ユーザーが対象外の場合(PTS トークンがないなど)、リクエストは失敗し、通知は表示されません。シナリオ例: ユーザーがフードデリバリーアプリで食事を注文し、有効なトークンを持っています。
MoEngage Live Activities を使用するための手順
このセクションでは、MoEngage トランザクショナル Live Activities の設定と活用方法について詳しく説明します。実装時に開発チームと効果的に連携するために、これらの手順を理解しておく必要があります。ステップ 1: Live Activity の登録と PTS トークンの管理(iOS アプリ開発者のタスク)
アプリケーション開発チームが、最初に Live Activities を設定する必要があります。詳細については、Transactional Live Activity を参照してください。- Live Activity トークンのトラッキングを有効にする:
アプリ開発者は、Push-to-Start(PTS)トークンのトラッキングを有効にする必要があります。Inform は、API 経由で Live Activity を開始するためにこれらのトークンを必要とします。 - トークンの登録方法を選択する:
開発者は、PTS トークンの登録を管理するために次の 2 つのオプションから選択できます。- MoEngage SDK に PTS トークンの登録と更新を自動的に処理させる。
- 独自の PTS トークン登録プロセスを実装し、生成された PTS トークンを MoEngage SDK に渡す。
- ウィジェットの Attribute Type を定義する:
開発者は、個別の Live Activity ウィジェット(order_tracking、ride_statusなど)ごとに一意の Attribute Type を割り当てる必要があります。この識別子を Inform キャンペーンで使用して、目的のウィジェットをターゲットにします。
- MoEngage は、Live Activity の PTS トークンと権限ステータスをデバイス属性としてトラッキングします。
- MoEngage SDK は、Live Activity の権限ステータスをデバイス属性として自動的に監視・更新します。
ステップ 2: Inform キャンペーンを作成する(マーケターのタスク)
Broadcast キャンペーンとは異なり、トランザクショナル Live Activities では、トリガーする前に Inform ダッシュボードでテンプレートを設定する必要があります。詳細については、Create Alert を参照してください。ステップ 3: API 経由で Live Activities を送信する(開発者のタスク)
Inform キャンペーンを設定したら、バックエンド開発チームは Inform API を使用してリアルタイム更新をトリガーできます。詳細については、Inform API を参照してください。- Live Activity を開始する:
特定のユーザーの Live Activity を開始するには、la_type = "start"を指定したlive_activity_attributesオブジェクトを含む API リクエストを MoEngage に送信します。一意のtransaction_idと必要なパーソナライゼーション属性を含めてください。 - 進行中の Live Activity を更新する:
アクティブな Live Activity を更新するには、同じtransaction_idを使用し、live_activity_attributes内でla_type = "update"を指定した API リクエストを送信します。リクエストには新しい動的コンテンツを含めてください。 - Live Activity を終了する:
Live Activity を停止するには、同じtransaction_idを使用し、live_activity_attributes内でla_type = "end"を指定した API リクエストを送信します。Live Activities は、指定されたdismissal_dateに達した時点でも自動的に終了します。
ステップ 4: MoEngage UI で Live Activity のパフォーマンスを分析する
トランザクショナル Live Activity キャンペーンのパフォーマンスは、MoEngage Inform Analytics ダッシュボードで追跡・分析できます。このビューでは、配信ファネル、エラー、ユーザーエンゲージメント指標の包括的な内訳を確認できます。 詳細については、Analyze Inform を参照してください。- イベントトラッキング: システムは、
MOE_LIVE_ACTIVITY_STARTEDSDK イベントを介してデバイス上での開始の成功をトラッキングします。ただし、Update および End リクエストではデバイスレベルの確認イベントは生成されません。これらの成功は Sent 指標(APNs による受理)で測定されます。 - ログ: システムは個々の update/end API 呼び出しの詳細な配信ステータスをトラッキングしないため、Inform UI ログの Live Activity リクエストには DELIVERY INFO NA と表示されます。
よくある質問
フォールバックプッシュ通知はいつトリガーされますか?
フォールバックプッシュ通知はいつトリガーされますか?
フォールバックプッシュ通知は、Live Activity の配信に必要なトークンが利用できない場合にトリガーされます。この動作は、以下のシナリオに適用されます。
- Start リクエスト: ユーザーの有効な Push-to-Start(PTS)トークンが利用できない場合(デバイスがサポート対象外の iOS バージョンを実行している場合や、トークンが同期されていない場合など)。
- Update/End リクエスト: 同じトランザクション ID の Start リクエストで、APNS への Live Activity 開始リクエストが成功しなかった場合。
アプリのコードからローカルで Live Activity を更新できますか?
アプリのコードからローカルで Live Activity を更新できますか?
いいえ。MoEngage 統合を介して開始されたトランザクショナル Live Activity は、Inform API 経由でのみ更新または終了できます。
MoEngage は失敗した Live Activity リクエストを再試行しますか?
MoEngage は失敗した Live Activity リクエストを再試行しますか?
いいえ。iOS プッシュクライアントが配信の即時再試行を処理するため、MoEngage は Live Activity リクエストの非同期再試行を行いません。
ユーザーが MoEngage Live Activities を表示するには、どの iOS バージョンが必要ですか?
ユーザーが MoEngage Live Activities を表示するには、どの iOS バージョンが必要ですか?
MoEngage 経由で送信された Live Activities を表示するには、エンドユーザーのデバイスに iOS 18 以降がインストールされている必要があります。
MoEngage ダッシュボードで UI ウィジェットを構築する必要がありますか?
MoEngage ダッシュボードで UI ウィジェットを構築する必要がありますか?
いいえ。MoEngage はデータパイプラインとして機能します。ウィジェットのビジュアルデザインは、iOS 開発者がアプリ内で SwiftUI を使用して構築します。MoEngage ダッシュボードでは、Attribute Type とキーと値のペアを使用して、そのウィジェットにデータをマッピングします。
MoEngage Live Activities で A/B テストはサポートされていますか?
MoEngage Live Activities で A/B テストはサポートされていますか?
現在のバージョンでは、Live Activities の A/B テストはサポートされていません。これは、Locales、Global Control Group、Campaign Control Group などの他の高度な機能にも適用されます。
Live Activities の PTS トークンはどのように管理されますか?
Live Activities の PTS トークンはどのように管理されますか?
アプリ開発者は、MoEngage SDK に PTS トークンの登録と保守を自動的に管理させるか、このプロセスを自分で処理してトークンを SDK に渡すことができます。MoEngage は PTS トークンをデバイス属性としてトラッキングします。
staleDate とは何ですか?
staleDate とは何ですか?
staleDate は、システムがアクティビティのコンテンツを古いものとしてマークする時刻です。この時刻に達すると、UI はグレーアウトしたテキストや「Update needed」のようなメッセージなど、古い状態の表示に変わることがあります。アクティビティは引き続き表示されアクティブなままですが、情報が最新ではない可能性があることを示します。
dismissDate とは何ですか?
dismissDate とは何ですか?
dismissDate は、オペレーティングシステムがロック画面と Dynamic Island から Live Activity を自動的に削除するように設定する時刻です。システムは次の場合に Live Activity を非表示にします。
- ユーザーがスワイプして消した場合。
- dismissDate に達した場合。デフォルトでは、Live Activity の終了から 4 時間後、または開始から 12 時間後に非表示になります。
staleDate と dismissDate の違いは何ですか?
staleDate と dismissDate の違いは何ですか?
staleDate はコンテンツが古いことを示すために UI の変更をトリガーするのに対し、dismissDate はアクティビティを完全に削除します。staleDate ではアクティビティは異なる外観で表示されたままですが、dismissDate ではアクティビティが終了し、画面から削除されます。
Live Activity の合計有効期間はどのくらいですか?
Live Activity の合計有効期間はどのくらいですか?
Live Activity は合計 12 時間実行され、最大 8 時間のアクティブな更新と、終了後に更新なしで最大 4 時間表示されます。その後、システムによって自動的に削除されます。
次のステップ
- SDK 統合ガイドと Live Activity サポートに関する最新情報については、Transactional Live Activity を参照してください。
- API ペイロードの仕様については、Inform API ドキュメント を参照してください。
- Inform キャンペーンの作成については、Create Alert を参照してください。