APNs returning successful response for a token from an app that was uninstalled more than a month ago

We are observing an weird behaviour where a user uninstalled the app back in February (more than a month ago) but APNs is still accepting push notifications are returning success responses.

We know that using APNs response codes for uninstall tracking is not reliable and that Apple will use fuzzy schedule to invalidate tokens.

However, showing successful responses for month+ old tokens seems a bit misleading and results in wasted token processing for both us and Apple.

Could you please confirm that invalidation (or fuzzy schedule) could take more than months to invalidate tokens on the APNs side? Is that expected or is this a bug somewhere?

APNs may start returning an “error” (410 status) for tokens if it has determined that a particular token is no longer in use. To make this determination, the device itself must report back to APNs that it is no longer accepting notifications for the app. This happens only if an app has been deleted on a device that is otherwise in use, and then a notification is sent to the app once, then the token will be marked as "not in use".

To avoid developers from detecting and tracking user behavior around installations and uninstallations, APNs will start returning a 410 status for these tokens on a fuzzy schedule. This schedule is not documented, and can change at any time. This is for protecting the users’ privacy, and is by design.

You will find many edge cases where the token may no longer be in use, but you will always get a success status for it. Trying to determine whether an app has been deleted or not, based on the 410 status is an off-label use that would not guarantee the results you might expect.

If you are worried about wasted token processing, you may want to look into solutions in your app that could perhaps determine that the user is no longer using that particular instance of your app - perhaps they did uninstall, or they changed devices, etc.


Argun Tekant /  DTS Engineer / Core Technologies

@Engineer thank you very much for clarifying. In our case device with that token has been deleted in February. We sent silent pushes every day since February. We also sent regular pushes once or twice. Token is still valid and we did not get 410 responses. We understand that there is a fuzzy schedule but could you please confirm whether fuzzy schedule could last for months so we could have better expectation in terms of when to invalidate and remove tokens on our side?

(Apologies I tried to comment on your answer above but my post could be saved for some reason)

APNs returning successful response for a token from an app that was uninstalled more than a month ago
 
 
Q