ユーザーが通知を購読できるようにする、かなり単純なアプリケーションを開発しています。したがって、システムは次のことを行う必要があります。
- 購読している特定のイベントが発生したときに通知を送信します。
- 選択したチャネル (メールまたは Slack) に通知を送信する
以下は、各ユーザーがサブスクライブできるさまざまな通知の例です。
Laravelを使ってこれを行う方法を考えています。私の最初のアイデアは次のとおりでした。
notifications
テーブルにJSON 列を作成し、次のusers
ように保存します (おそらく、一括ユーザー設定の管理のレッスンから学んだことを使用します)。
{
"todo": {
"assigned": [
{
"email": true,
"slack": true
}
],
"mentioned": [
{
"email": true,
"slack": true
}
]
},
"project": {
"created": [
{
"email": true,
"slack": true
}
]
}
}
ただし、これが良い習慣であるかどうかはわかりません。さらに、実際に通知を動的に送信する方法もわかりません。
送信するために、Laravels 通知システムを使用したい:
Notification::send($user, new TodoCreated($todo));
これが最善の方法なのか、それともイベント/リスナーのセットアップを使用する方が理にかなっているのかわからないのですが? あ
via()
また、クラスのメソッドを利用しNotification
て、ユーザー設定に従ってチャネルを動的に指定できますか?
任意の入力をいただければ幸いです。