概要

ユーザー宛のシステム通知(フォロー、ランキング終了、選択肢申請、無料作成枠リセット 等)を Supabase notifications表 から取得し、HomeView のベルアイコンと NotificationListView で表示。

関連画面

通知タイプ

type説明発火条件
followフォローされた他ユーザーが follow() 実行時
ranking_ended投票したランキングが終了endsAt 経過時(バックエンドジョブ)
choice_request選択肢申請を受信(作成者向け)ChoiceRequestService.create()
free_creation無料作成枠の通知FreeCreationNotificationService

処理フロー

  1. HomeView 表示時に NotificationService.fetchUnreadCount() で未読数取得
  2. ベルアイコンタップで NotificationListView 起動
  3. NotificationListView 表示時に fetchNotifications(limit: 50)
  4. セルタップで markAsRead(id) 実行 + 関連画面へ遷移
  5. 「すべて既読」で markAllAsRead()

ビジネスルール

外部連携

連携先用途
Supabase notifications表通知データ保存
UserNotificationsv1.x プッシュ通知(未実装)

エラー処理

発生条件対応
通信失敗RetryHelper で再試行
該当ランキング削除済みセルタップで「ランキングが見つかりません」

実装メモ

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成