mcpField
F
flutter-notifications

flutter-notifications

github.com/thienqo開発1798 回インストール1 日前に更新
リポジトリ

flutter-notifications について

Flutter アプリの通知ライフサイクル全体を扱う開発スキルです。権限、配信契約、タップ時のルーティング、検証を支援し、特定のプロバイダーやパッケージを前提とせず、既存構成の確認やローカル通知・リモートプッシュへの対応を案内します。

主な機能

  1. 01通知とプロバイダー構成の確認
  2. 02ペイロードと配信契約の定義
  3. 03ユーザーが制御する権限の扱い
  4. 04通知タップ先の検証
  5. 05ライフサイクルとペイロードのテスト

活用シーン

  1. 01既存の通知設定の監査
  2. 02ローカルリマインダーの設計
  3. 03リモートプッシュのトークンとタップへの対応
  4. 04アプリ状態ごとの配信テスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thienqo/flutter-skills --skill flutter-notifications

インストール後、Claude Code で/flutter-notificationsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
local-notifications.md
platform-delivery.md
remote-push-notifications.md

詳細

Flutter 通知

通知は単一のプラグイン呼び出しとしてではなく、ライフサイクル全体として扱います。移行が明示的に求められていない限り、プロジェクトのプロバイダー、通知パッケージ、アーキテクチャ、ルートの所有者を維持してください。

事前確認

初期化、リスナー登録、権限フロー、サービスファイル、ペイロード解析、バックエンドとの契約、ルートへの引き継ぎ、永続化、フレーバー、テストなど、初期化、リスナー、ネイティブ側の変更を提案する前に、pubspec.yaml、SDK の制約、有効なプラットフォーム、ネイティブマニフェストと機能、および既存の通知・プロバイダー関連の配線をすべて確認してください。実証されている不足点と、タスクがローカルスケジュール、リモートプッシュ、またはその両方に関するものかを特定してください。リポジトリの情報を確認できない場合は、まだ調査が必要であることを明記し、配線が不足していると決めつけず、変更案を条件付きにしてください。デフォルトで Firebase、OneSignal、ローカル通知パッケージ、または状態管理パッケージを追加しないでください。

単一の配信契約を確立する

安定した通知 ID、ペイロードのバージョンと種別、許可するフィールド、遷移先の意図、重複排除キー、タイムスタンプ、および未知または古いペイロードに対するフォールバック動作を定義してください。通知ペイロードとログに、秘密情報や、ユーザー、メッセージ、健康、決済、認証に関する機密コンテンツを含めてはいけません。不透明な識別子を送り、必要に応じて認可済みのドメインデータを取得してください。通知のタップは信頼できない外部入力として扱い、型付きの意図をアプリのナビゲーション所有者に渡す前に検証してください。

権限はユーザーが制御する状態としてモデル化してください。価値を説明したうえで適切なタイミングで尋ね、プラットフォームが区別できる場合は未決定、一時許可、拒否、許可を区別し、権限が無効な場合にも有用な状態を提供してください。権限プロンプトを繰り返し表示したり、配信が保証されているかのように示したりしないでください。

モードに応じて参照先を選ぶ

  • デバイスでスケジュールするリマインダー、カレンダー、タイムゾーン、繰り返し、キャンセル、または再調整については、ローカル通知を参照してください。
  • プロバイダーへの登録、トークンのライフサイクル、フォアグラウンド・バックグラウンド・終了状態での配信、タップ、またはサイレント/データメッセージについては、リモートプッシュ通知を参照してください。
  • Android/iOS/Web の制約、権限、機能、またはデバイスでの検証については、プラットフォーム配信を参照してください。

現在のタスクに必要な参照資料のみを読み込んでください。

境界

  • flutter-networking は通常のバックエンド通信と再試行の仕組みを担当し、このスキルは通知登録とペイロードのライフサイクル契約を担当します。
  • flutter-persistence はストレージの実装を担当し、このスキルは通知の再調整と冪等性の要件を定義します。
  • flutter-navigation はルートグラフとバックスタックの動作を担当し、このスキルは検証済みの遷移先の意図を生成します。
  • flutter-platform-integration は、既存のパッケージでは必要な機能を利用できない場合に、カスタムプラグインまたはネイティブブリッジを担当します。
  • flutter-security はより広範な脅威レビューを担当します。このスキルでも、デフォルトでペイロード、トークン、配信テレメトリを秘匿化します。

検証

可能な限りプラットフォームプラグインを使わずに、決定論的な契約、権限、スケジュール/再調整、トークン変更、重複排除、タップ時のルーティングのロジックをテストしてください。その後、フォアグラウンド、バックグラウンド、終了状態からの起動、権限拒否、再起動、関連する場合はタイムゾーン変更、不正または重複したペイロードなど、サポート対象のライフサイクル経路を実際のプラットフォーム上で検証してください。Flutter のウィジェットテストや統合テストだけでは、OS による通知配信を証明できません。

実際に検証したプラットフォームとライフサイクル状態、プロバイダー/バックエンドへの依存関係、およびデバイスでのみ確認可能な未解決点を報告してください。

参照元

コメント