Push Notifications not working on IOS (DeviceNotRegistered on Notifications Tool network tab)

Please provide the following:

  1. SDK Version: 36
  2. Platforms(Android/iOS/web/all): IOS

Hello I’m having issues receiving Push Notifications on IOS. I buit a standalone app with custom certificates and provisioning profile as well as a push notification .p8 key. The app is distributed to testers using the Firebase App distribution service. However, when we use the Expo Notification tool, we get no response / no push notification on the test device. Checking the network tab shows a ‘DeviceNotRegistered’ error.

This works on Android across multiple devices so far. Please what are things we could try to get this fixed.

Thanks

Hi! Sorry you’re having trouble with notifications :frowning: it’s hard to debug with the push notification tool sometimes, so can you try sending a push notification via your terminal or server? And then with the push ticket retrieve the push receipt which should contain information about the error.

Hello! Thanks for reaching out!

Here is the receipt from running push on the terminal

{"data":{"status":"error","message":"\"ExponentPushToken[JsTmo-DTXINFiSZ9jsZbvv]\" is not a registered push notification recipient","details":{"error":"DeviceNotRegistered"}}}

I’m having the same issue/message,
Expo SDK: 36.0.0

Steps

  1. Notifications.getExpoPushTokenAsync() used to get client token and show an alert
let token = await Notifications.getExpoPushTokenAsync();
alert(token + "\n" + token.toLowerCase());
  1. Build the standalone iOS Project
$ expo build:ios
  1. Download .ipa; use Transporter.app to upload .ipa to appstoreconnect; Invite user to TestFlight to test the build; User accepts invite and installs build
  2. Upon launch, app asks for push notification permissions; user hits Allow
  3. App shows alert with ExponentPushToken[...]
  4. Turn iPhone screen off (to ensure app isn’t in foreground/active)
  5. Plug that token into expo push tool, hit send

Expected Behavior
8. Notification should pop up on phone
9. Use quick node.js script and expo-server-sdk to push to token
10. Notification should pop up on phone

Actual Behavior
8. No notification received on phone
9. Use quick node.js script and expo-server-sdk to push to token
10. No notification received on phone + error:

[ { status: 'error',
    message:
     '"ExponentPushToken[...]" is not a registered push notification recipient',
    details: { error: 'DeviceNotRegistered' } } ]

the DeviceNotRegistered error usually means that the recipient device does not have the proper permissions enabled to receive notifications from that app. Double-check that the push token is correct and current (it changes across app installs), and that you have allowed push notifications

@charliecruzan I can confirm that the token is correct and the permissions are all enabled. But the error still persists :disappointed:

I don’t want to have to eject because of this. Is there any other thing I can try?

Yeah, we should be able to figure this one out without you needing to eject. Can you give me the experience name? it should look something like @<your-username>/<project-name>

Sure, can we do this in a private medium?

:+1: if you’re in the Expo Developer slack, my name is Charlie Cruzan and you can message me on there

Oh sure!

I’ll reach out on slack too. Please update this thread if you guys figure it out, sounds like we’re having the same issue.

1 Like