Troubleshooting Push Notifications

Check push notification status and fix common issues.

If push notifications aren’t working as expected, you can check the notification status to diagnose the issue.

Push Notifications Not Working

If push notifications are not being received:

  • Verify that push notifications are enabled for both iOS and Android.
  • Check that APNs (iOS) and FCM (Android) are properly configured.
  • Ensure the app has notification permissions.
  • For iOS, verify capabilities are enabled in Xcode (Push Notifications and Background Modes).
  • For Android, ensure google-services.json is in android/app/.

Checking Push Notification Status

If push notifications aren’t working as expected, you can check the notification status to diagnose the issue:

PushNotificationStatus? status = await Airship.push.notificationStatus;

print('User notifications enabled: ${status?.isUserNotificationsEnabled}');
print('System notifications allowed: ${status?.areNotificationsAllowed}');
print('Push privacy feature enabled: ${status?.isPushPrivacyFeatureEnabled}');
print('Push token registered: ${status?.isPushTokenRegistered}');
print('User opted in: ${status?.isUserOptedIn}');
print('Fully opted in: ${status?.isOptedIn}');

You can also listen for status changes:

Airship.push.onNotificationStatusChanged.listen((event) {
  print('Notification status changed: ${event.status}');
  print('Is opted in: ${event.status.isOptedIn}');
});

Common Status Scenarios

  • isUserOptedIn = false: Check if userNotificationsEnabled is set to true and if the user granted permission
  • isPushPrivacyFeatureEnabled = false: Push privacy feature is disabled in Privacy Manager
  • isPushTokenRegistered = false: Device hasn’t received a push token yet. Check network connectivity and platform configuration
  • isUserOptedIn = true but isOptedIn = false: Push token registration is pending or failed. Check console logs for errors