Does an Android notification channel created by expo-notifications persist after an app reinstall or OS upgrade?
0 reputation · 27 Feb 2024, 22:30 UTC
I'm designing the alert strategy for an Expo app (SDK 50+, tested in a development build since Expo Go no longer supports push) and want to split notifications into Android channels via setNotificationChannelAsync — e.g., a HIGH-importance "messages" channel and a LOW-importance "promotions" channel — with iOS interruptionLevel handling the equivalent on Apple devices.
The documented behavior is that Android channels are effectively immutable once created: importance, sound, and vibration can't be changed programmatically afterward, so fixing a noisy channel means shipping a new channel ID and migrating users to it. What I can't determine from the docs alone is the lifecycle of the old channel.
Specifically:
- If a user uninstalls and reinstalls the app, does the system restore the previous channel settings (including any importance the user lowered manually), or does the app get a clean slate?
- Across an Android OS upgrade, are channel configurations guaranteed to carry over, or should the app re-assert channel creation on every launch?
- Is there a supported way in expo-notifications to detect that a user has overridden a channel's importance so the app can stop sending to it?
I'd rather verify this against documented behavior than discover it after shipping a migration to new channel IDs.