| name | maui-notifications-deep-links |
| description | Implement .NET MAUI local notifications, push notifications, Firebase/FCM legacy server-key migration to FCM HTTP v1, APNs/Azure Notification Hubs registration, app links, universal links, custom URI schemes, token refresh/sign-in/logout lifecycle, push payload safety, and deep-link troubleshooting. USE FOR: notification permission UX, Android NotificationChannel and POST_NOTIFICATIONS, iOS UNUserNotificationCenter, push token upload, notification tap navigation, assetlinks.json autoVerify, apple-app-site-association, and CFBundleURLTypes. DO NOT USE FOR: OAuth callback-only flows, generic Shell navigation, or picker/location permissions. |
MAUI Notifications and Deep Links
Use this skill when a MAUI app needs scheduled local alerts, remote push
notifications, or URLs that open the app and navigate to content.
Workflow
- Separate the entry points: local notification scheduling, push token
registration, notification tap handling, custom URI schemes, and verified web
links.
- Add platform declarations and entitlements before writing app logic.
- Request notification permission at a useful moment and support a denied state.
- For migrated push-token guidance, explicitly say Android backends use the
official FCM HTTP v1 / Firebase Cloud Messaging v1 API with
service-account OAuth credentials, not legacy server keys. Treat OAuth 2.0
as the credential flow, not the API version. iOS uses APNs device tokens.
- Register refreshed device push tokens/installations with the backend or
Azure Notification Hubs after sign-in, and disassociate them on logout.
- Treat Azure Notification Hubs as optional infrastructure unless the app needs
brokered installations, tags, templates, or multi-platform fanout.
- Keep push payloads free of PII, access tokens, and confidential content; send
route/entity IDs and fetch sensitive data after the app opens.
- Normalize all notification taps and deep links into one app navigation
service.
- Route links with Shell routes or an explicit navigation abstraction.