flutter-notifications について
Flutter アプリの通知ライフサイクル全体を扱う開発スキルです。権限、配信契約、タップ時のルーティング、検証を支援し、特定のプロバイダーやパッケージを前提とせず、既存構成の確認やローカル通知・リモートプッシュへの対応を案内します。
主な機能
- 01通知とプロバイダー構成の確認
- 02ペイロードと配信契約の定義
- 03ユーザーが制御する権限の扱い
- 04通知タップ先の検証
- 05ライフサイクルとペイロードのテスト
活用シーン
- 01既存の通知設定の監査
- 02ローカルリマインダーの設計
- 03リモートプッシュのトークンとタップへの対応
- 04アプリ状態ごとの配信テスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-notificationsインストール後、Claude Code で/flutter-notificationsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/local-notifications.mdplatform-delivery.mdremote-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 による通知配信を証明できません。
実際に検証したプラットフォームとライフサイクル状態、プロバイダー/バックエンドへの依存関係、およびデバイスでのみ確認可能な未解決点を報告してください。