メインコンテンツへスキップ
OneSignalを使用して、ソーシャルアクティビティ(いいね、フォロー、招待)やユーザーメッセージについてユーザーに通知します。これらのアラートは、ユーザーがアプリで現在アクティブでない場合でも、再エンゲージメントを促進できます。
OneSignalとプッシュ通知は、リアルタイムコミュニケーション用に明示的に設計されていません。両方のユーザーがアプリでアクティブでない場合のフォールバックとして使用するのが最適です。リアルタイムコミュニケーションには、次のような専用のライブチャットソリューションを検討してください:

ソーシャルアクティビティ通知

ユーザーがソーシャルアクションに関与したときにプッシュ通知をトリガーします。

一般的なソーシャルアクション

ActionExample message
Like”Annaがあなたの投稿にいいねしました。“
Mention”Leoがコメントであなたにメンションしました。“
Tag”Saraがあなたを写真にタグ付けしました。“
Invite”Benがあなたをイベントに招待しました。“
Comment”Mayaが返信しました:「すごい!」“
Follow”Jamesがあなたをフォローし始めました。“
Share”Alexが「ハワイアルバム」をあなたと共有しました。“

要件

セットアップ

1. 外部IDでユーザーをマッピング

エイリアスと外部IDを使用して、OneSignalでユーザーを一意に識別します。

2. ソーシャルアクションを検出

バックエンドで、誰がアクションを実行し、誰に影響を与えるかを追跡します。
json
{
  "action": "like",
  "actor_id": "user_b",
  "recipient_id": "user_a",
  "post_id": "xyz789"
}

3. プッシュ通知を送信

OneSignal APIを使用して受信者に通知します:
{
  "app_id": "YOUR_APP_ID",
  "contents": { "en": "user_b liked your photo." },
  "include_aliases": { "external_id": ["user_a"] }
}

アドオン


ダイレクト(ユーザー間)メッセージ

ユーザーに新しいメッセージがあることを知らせ、オプションでメッセージコンテンツまたはチャットへのディープリンクを含めます。
プッシュ通知は、両方のユーザーがアプリでアクティブにチャットしていない場合のフォールバックとして使用するのが最適です。
ユーザーAがユーザーBにメッセージを送信し、Bが現在オンラインでないかチャット画面にいない場合にプッシュを送信します。

セットアップ

1. 外部IDでユーザーをマッピング

エイリアスと外部IDを使用して、OneSignalでユーザーを一意に識別します。

2. メッセージ送信時に通知をトリガー

バックエンドから、include_aliasesフィールドを含むCreate Notification APIを使用して受信者にプッシュを送信します:
{
  "include_aliases": {
    "external_id": ["USER_B_ID"]
  },
  "contents": { "en": "New message from Anna: 'Hey, you around?'" },
  "headings": { "en": "New Message" },
  "data": {
    "sender_id": "user_a",
    "conversation_id": "chat_1234",
    "click_action": "open_chat"
  }
}

ベストプラクティス

  • スパムを避ける:すべてのメッセージに対して通知を送信しないでください。バッチ処理を使用するか、X分間の非アクティブ後にのみアラートを送信します。
  • ユーザー設定を尊重する:必要に応じて、ユーザーがメッセージ通知をミュートまたは無効にできるようにします。
  • アプリでルーティングロジックを使用して会話を開きます。詳細については、ディープリンクを参照してください。

関連記事