ほとんどの場合、データベース側で正しい方向へのプッシュを探していますが、1対多の通知システムに関して、あらゆるタイプのプッシュが受け入れられます(コードは賢明です)。1から多くの通知システム
ユーザの集まりは、ユーザ関心(例えば、別のユーザ)によってトリガされる通知を受信する。
例
- USER1、USER2、およびUSER3サブジェクトA.
- 件名Aに関心のある、活性を掲示。
- user1、user2およびuser3はSubject Aからの通知を受け取ります。
- user2およびuser3は更新を表示しました。したがって、その更新で通知されなくなります。
- まだ更新を表示していないため、user1に通知されます。
マジック: 千人のユーザーは、同じ通知を受信し続けることができますが、個々のユーザーは、彼らが見た場合の通知の受信を停止または更新と対話します。
私の実装では、
は私が
id | sender | context | action | receiver | unread
1 | Nobel | Prize | Won | Moi | true #default
ように私のDBに通知表を構築する際に対象トリガー通知私は、被験者Aに興味を持ってすべてのユーザーが、その後にその同じ通知を追加取得テーブルが異なるレシーバーと。
ユーザーが更新プログラムとやり取りすると、「未読列」がfalseに更新されます。 特定のユーザが歩いているとき(現実的ではない)、ユーザ名を持つ通知テーブルから通知を選択すると、未読の偽の数をカウントし、赤い通知バブルに番号を表示します。
私の意見
これは本当に冗長ようだ、とテーブルにも非常に迅速にまだmegaZillionのような名前を持っていない番号に成長することができます。件名に10,000の興味があるように、件名が冷蔵庫(実際のつぶやき)にソーダを見つけなかったために10,000の新しいレコードがテーブルに追加されます。
質問: これを行うには良い方法があります。
あなたが実際に必要とするものを明確にする必要があります。これは、データモデルに大きな影響を与えるためです(電子メールのように)新しい通知を読むと、古い通知を既読にします(チャットアプリケーションの場合など)。関連性:「フォロワー」(チャット/ツイッターなど)またはグローバル(グループチャットやフォーラムなど) 「AタグBのメッセージを投稿し、AまたはBに従うとメモを取得する」などのルールがあれば、その場で計算することができます(スペースを節約し、時間を節約できます) – Solarflare
ありがとう、 おもう。 –