Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
アクティビティフィードとは?
アクティビティフィードは、ユーザーがアプリ内で受信した通知の履歴を確認できるようにします。
OneSignalは通知の配信に焦点を当てていますが、現在、各個別ユーザーに送信されたメッセージの履歴を保存していません。この機能を構築するには、通知データを自分で保存する必要があります—バックエンドサーバーまたはユーザーのデバイス上に直接保存します。
サーバーへの保存
推奨アプローチアプリでのバックグラウンド処理に依存するのではなく、Create notification REST APIを使用して各通知を送信し、サーバーにコピーを保存します。その後、アプリが起動すると、サーバーで更新を確認できます。データが保存されると、いつでもユーザーの通知履歴を取得して表示できます。OneSignal Event Streamsを使用してアクティビティフィードを作成
OneSignalのEvent Streams機能は、アプリからバックエンドシステムまたはデータウェアハウスにリアルタイムイベントをストリーミングするスケーラブルな方法を提供します。これにより、アプリ内でフィードを手動で更新することなく、フォロー、コメント、購入、通知イベントなどのアプリ内ユーザー行動を反映するフィードを構築できます。仕組み
Event Streamsは、次のようなライブイベントデータをエクスポートします:
- 通知配信
- メール/SMSの開封とクリック
- ユーザーによってトリガーされたアクション
宛先には次が含まれます:
- Webhook(HTTPエンドポイント)
- Amazon Kinesis
- Amazon S3
- Google Cloud Storage
- BigQuery
- その他
システムは、これらのイベントが発生すると受信し、フィードUIまたは分析パイプラインを更新するために使用できます。Event Streamsでアクティビティフィードをセットアップする手順
Event Streamsを有効にする
- OneSignalダッシュボード > Settings > Event Streamsに移動します。
- Webhookまたはデータパイプライン(例:Amazon Kinesis)などの宛先を選択します。
- ストリーミングするイベントを選択します(例:
message.sent、message.delivered、message.clicked)。
イベントデータを処理するようにバックエンドを構成
-
イベントデータを取り込むWebhookまたはConsumerを作成します。
-
イベントペイロードを解析して、次のような関連フィールドを抽出します:
external_id(ユーザーID)
eventタイプ(message.deliveredなど)
timestamp
contents(通知メッセージ)
additional_data(カスタムメタデータ)
アクティビティフィードエントリを保存および構造化
- これらのイベントをクエリとレンダリングに適した形式でデータベースに保存します。
{
"message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
"message.name": "the-name-you-set",
"message.title": "Claim 50% Off Today", // email subject example
"message.title": "{'en':'the message title/headings'}", // push title example
"message.contents": "{'en':'the message content'}",
"message.template_id": "the-template-uuid-if-set",
"message.url": "the-message-url",
"message.app_url": "the-message-app-url",
"message.web_url": "the-message-web-url"
}
アプリでフィードをレンダリング
- ログインしたユーザーの最近のイベントをクエリして表示するフロントエンドコンポーネント(例:React、SwiftUI、またはAndroid View)を構築します。
- オプションで、イベントタイプによるフィルターまたはグループ化を含めます。
追加のメタデータで強化
-
通知を送信するときは、
additional_dataを含めてフィードのコンテキストを提供します。例:
{
"action": "commented",
"post_id": "xyz123"
}
-
これにより、「Janeがあなたの投稿にコメントしました」などのリッチなフィードエントリを作成できます。
ユースケースの例
- Eコマース:注文確認、配送更新、プロモーションを表示します。
- ソーシャルアプリ:いいね、コメント、フォローを表示します。
- SaaSプラットフォーム:タスク割り当て、メンション、アクティビティログを追跡します。
メリット
- イベントストリーミングによるリアルタイム更新
- 完全にカスタマイズ可能なロジックと表示
- スケーラブルなバックエンド駆動アーキテクチャ