Push notifications no longer working


#1

Since our last app update and migrating to sdk 27 push notifications are no longer received by our users.

getExpoPushTokenAsync is still returning expo push keys on our app and sending it to our server, and I can see them coming through. When I use the push notification tool or https://exp.host/--/api/v2/push/send, this payload is returned (ids replaced with X’s).,

{
    "data": {
        "status": "ok",
        "id": {
            "receiptId": "XXXX",
            "messageId": "XXXX"
        }
    }
}

Any idea why these would suddenly stop working despite nothing changing and despite the App returning push tokens? I’ve tested with and without the app open and with and without the phone set to the lock screen. Push notifications are enabled / allowed in the app settings in iOS.


#2

We made some recent changes to the push notification service for iOS yesterday. If you fetch the receipt for the notification, what do you see?

curl -X POST -H 'Content-Type: application/json' -d '{"ids": ["RECEIPT_ID_HERE"]}' https://expo.io/--/api/v2/push/getReceipts


#3

I’m getting {"data":{"78666a45-828d-42ec-b69a-8e71097914a1":{"status":"ok"}}} but no delivered push notification to the device. We first noticed this about 2 weeks ago. I checked last night and our Android users are still receiving push notifications.


#4

{"status": "ok"} signals that Apple’s Push Notification service successfully received the notification from Expo and didn’t have trouble with your push credentials, so that’s good. It also means that Apple considered the native device token valid at the time of receiving the notification, which also is good. The recent changes we made to the Expo push notification service were at 5:10pm (PDT) on July 23, so the timing looks unrelated to

So it seems like the issue is most likely between Apple and your app, and we haven’t received other reports like this. One potential reason could be your notification is missing a title/body text, sound, or a badge number.


#5

It looks like Android users are still getting push notifications just not iOS users.

We haven’t implemented code to deregister push notification keys that are bounced back yet. Is it possible Apple blacklisted our app after Expo made the changes to the way push notification service operates because we were sending push notifications to unregistered devices? We only send push notifications to our internal team using about 20 keys and I think about 10 of them may be disabled so it’s not like we’re spamming their network.

I’ve tried adding badges and sounds and using the batch api but no dice. No matter what we do our iOS users no longer receive push notifications.

Any other things to try? Is it possible that when Expo built our app something went wrong with the push certificates which caused a silent fail?


#6

We just build a new version using expo and push notifications work for the new .ipa … It looks like our previous IPA must have been built using corrupt push notification credentials somehow. I also included Android FCM google-services file in to the app (despite only building for iOS) in case expo was somehow picking that up as missing and not enabling push notifications on iOS.