apns http2 api not returning status 410 after uninstalling app

◇◆丶佛笑我妖孽 提交于 2019-11-29 10:49:19

This technical note might be of help, basically

iOS will keep one socket connection per APNS environment (Production/ Sandbox) and when you delete the app from iOS, if its a last app for a given environment it kills that socket connection as well, which causes the deletion event to be dropped for that last app.

This generally happens with development apps.

The solution is to keep a dummy app installed on a device which registers for APNs and is signed with developer identities, now when you delete your real app from device during development it will keep the connection to APNS open resulting in app deletion being reported to APNS.

Also, In my testing I have experienced delays around 30-60 mins before an app deletion is reflected in APNS Response.

Here is my 410 status experience on APNS prod service; After removal of distribution application on device, I could get 410 response a few time, but then, after spending too much time on testing of APNS Http/2 API, I noticed that It returns always success(http 200) response for the previous device tokens which belongs removed application, even after 2–3 days.

I found these two lines of log in device after adding apns logging profile:

APSCourier: Received message for recently removed topic ‘com.xxx.xxx.xxx’
APSCourier: Sending acknowledgement message

I think, It is about asynchronous flow of receiving notification of removed topic on device and sending its acknowledgement message to the back APNS from device. Somehow APNS does not take action about these acknowledgements.

By considering the current state of APNS behaviour, using new APNS Notification Service to having it as a part of uninstallation tracking process is not a right approach for now.

Instead of APNS, you can execute background task to ping your server for letting you to detect about uninstallation status.

And want to share a few link from apple developer forums, discussing parallel topics:

APNs token still valid after app uninstalled

Older APNs device tokens do reach the device

Old APNs tokens not invalidating?

How do APNS HTTP/2 and APNS HTTP/1.1 Work together?

When does APNS report an uninstall?

You should also try the old feedback service, it still works.

NWPusher is a quick way to check.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!