Push notifications
FCM, APNs, and device registration for the Intry app.
Overview
Push is the primary channel when a visitor buzzes a unit. Tokens are stored on Device rows and refreshed whenever Expo or the OS rotates them.
Client flow
- User signs in.
- App requests notification permission.
- App posts the Expo push token / native token to
/devices/*on Core. - Core targets those devices when Twilio signals an inbound call.
Platforms
| OS | Provider |
|---|---|
| iOS | Apple Push Notification service (APNs) via Expo |
| Android | Firebase Cloud Messaging (FCM) via Expo |
Debugging checklist
- Correct bundle ID / application ID in Firebase & Apple portals
- Device row exists in admin (
/api/admin/devices) after login - User not suspended (
User.status) - Sandbox vs production APNs environment matches build type
Sound preferences
User.preferredNotificationSound seeds default tones for new devices. Portal or app settings UI should keep this field in sync with product copy.