Does APNS Feedback service no longer exist as per new APIs?
I think the new doc is clear :
There's an HTTP status code for the case that was previously reported by the Feedback Service :
410 - The device token is no longer active for the topic.
In addition, there's a JSON data key named timestamp
in the response body :
timestamp
If the value in the :status header is 410, the value of this key is the last time at which APNs confirmed that the device token was no longer valid for the topic.
Stop pushing notifications until the device registers a token with a later timestamp with your provider.
Therefore, the HTTP response in the new API covers the functionality that was previously covered by the Feedback Service. Since the Feedback Service is not mentioned in the new doc, we can safely assume that it's not part of the new API.
If you are using an old library such as javapns, which still uses the old API, I'm assuming that it still uses the Feedback Service too. The old API is likely to still be supported by Apple for a while.
How to test Apple Push Notifications Feedback Service?
Okay, so from what I have discovered, seems that Instant Feedback
service from Apple is working just fine and is able to detect uninstall pretty fast. There was a small trick in how to test these things properly with sandbox service.
If you make an app which you are testing locally on your device and your app is the only one installed on your phone from that provisioning profile (vendor), stuff which I faced as an issue in my question will be encountered. For some reason, even if you uninstall the app (which was the only one on the phone installed from your provisioning profile), Apple is always responding with 200.
What needs to be done is following: After you install your app which you are testing, create a new dummy app with another bundle ID, but which also coming from your provisioning profile, enable push notifications in it as well and install it on your device. So now, you have two apps that you made - one which you are developing and testing the Instant Feedback
service with and another one which kinda "zombie" app which just sits in there and does nothing.
After this, uninstall your test app, try to send silent push notification and Apple will respond with status code 410
as expected.
Dummy way, but for some reason that's how it should be while testing. Behaviour in production should be as expected and w/o any need to have a dummy (or any other) app from same vendor installed on iOS device.
Does the implementation of Apns feedback service done at server side or client side application
on the server side you should check the feedback service on a daily basis to retrieve information about inactive device tokens. you can then stop delivering notifications to those devices.
see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/BinaryProviderAPI.html#//apple_ref/doc/uid/TP40008194-CH13-SW12 for more information...
Related Topics
Import Framework for Whole Project at One Place in Swift
Force Wkwebview to Show Mobile Version
How to Handle a File Sent with 'Open In...' from Another App to My Own iOS App
Dynamic Height for a Uitableview Based on a Dynamic Collection View
How to Change Select Box Background Without Losing The Right Arrow on Mobile Safari
Does "Let _ = ..." (Let Underscore Equal) Have Any Use in Swift
Can't Write Non Current User Objects by Pfuser Currentuser
Disable iOS Reachability Swipe Gesture in iOS Game
Collide Type Source Error - Spritekit Swift Game
Form Nspredicate from String That Contains Id's
Uilabel Word Wrap Feature Leaving Space Even When Sufficient Space Available for The Word
Change the Text of a Label with a Button in iOS
Apple Doesn't Recognize Imgur's Https
Fix Cursor Size for Modified Paragraph Spacing in Uitextview