Push notifications on iOS stop working

#1

We have published our stand-alone, non-detached Expo app to the app stores about two months ago. It is being used by our customers on both Android and iOS.

We are using the standard Expo push notifications solution as described on https://docs.expo.io/versions/latest/guides/push-notifications .

Since a few weeks, some of the users, all of them on iOS, are reporting that they are no longer receiving push notifications.

The responses from the Expo server when sending the notification from our server as wel as the “push receipts” always only say “status: ok”.

A few of our customers have verified that they did not accidentally switch off push notifications in the iOS settings.

Push notifications are still working fine on my own test iPhone and a few of my colleagues iPhones that have the app installed.

Is something going wrong on the Expo servers?

#2

The Expo push notification servers have been running normally. If you tell us your project name (the “slug” in app.json) we can look into whether the error rate for your project is abnormal. That said, the asynchronous iOS push receipts contain status: "ok" only when Apple’s push notification service has successfully acknowledged receipt of the notification so it sounds like this issue could be a problem between APNs and the devices.

#3

Thank you for looking into this. Our project name is ‘ubutler’.

A few id’s of non-arriving notifications:

fe1ca4f3-6b97-44f8-8385-9ab6680cbe51
700c832f-1bf7-44de-a7f2-d3ef3741c3aa
554ed7ec-0198-44bb-a585-c6b7ec8521bd
741b0010-2423-46c7-8ee0-520177c54524

#4

Ok, i think i have found the cause of the problem. These are all users that were previously using the previous, non-Expo, plain React Native version of our app, which was using react-native-push-notification for the push notifications. We have published our Expo app in the appstore as an update to that app.

So, we have essentially switched push notification providers and judging by the many questions about this on Stack Overflow, this can be a problem on iOS. I can’t seem to find a solution to the problem in a React Native / Expo context however.

One of the users confirmed that reinstalling the app solves the problem.

Is there any way to fix this for all our users without asking them to reinstall the app?

#5

We’ll dig in further since we don’t have enough information to say what’s going on yet. In order to get an Expo push token, the client needs to send the device’s native APNs token to the Expo servers, so assuming things are working as expected this means that the Expo servers have the APNs tokens.

I wouldn’t expect that switching push notification services would cause an issue because Apple doesn’t care where the notifications are coming from. As long as you have the right credentials to send a notification to a device with a given APNs token, Apple will try to deliver it for you.

#6

Thank you for looking into this.

Here’s one of the threads that suggests that switching push providers can be problematic:

closed #7

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.