# Troubleshooting Push Notifications

Check push notification status and fix common issues.

If [push notifications](https://www.airship.com/docs/developer/sdk-integration/cordova/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.

## Checking Push Notification Status

If you're having trouble with push notifications, check the notification status to see the current state:

```javascript
Airship.push.getNotificationStatus((status) => {
  console.log('Are notifications allowed:', status.areNotificationsAllowed)
  console.log('Is opted in:', status.isOptedIn)
  console.log('Is user notifications enabled:', status.isUserNotificationsEnabled)
  console.log('Is user opted in:', status.isUserOptedIn)
  console.log('Is pushable:', status.isPushTokenRegistered)
  console.log('Is push privacy feature enabled:', status.isPushPrivacyFeatureEnabled)
})
```


You can also listen for status changes to debug permission issues:

```javascript
const subscription = Airship.push.onNotificationStatusChanged((event) => {
  console.log('Notification status changed:', event.status)
  
  if (!event.status.areNotificationsAllowed) {
    console.log('System-level notifications are disabled')
  }
  
  if (!event.status.isUserNotificationsEnabled) {
    console.log('User notifications are disabled in Airship')
  }
  
  if (!event.status.isPushTokenRegistered) {
    console.log('Push token not registered')
  }
})

// Later, to cancel the subscription
subscription.cancel()
```

