Viewing Apple Push Notification request details

Hello. We have implemented Xamarin iOS Push Notifications using Microsoft Azure as the Notification Provider. Our success has been hit or miss with iOS. Android seems to work great.

For the last couple of days Push Notifications are not working for us. I can set breakpoints in our code and watch our middle tier submit the Push Notification request to the Azure notification hub without encountering exceptions. The Azure Portal shows iOS device registration requests but no messages being sent to the iOS device itself. We have triple-checked Apple Developer account statuses, regenerated Apple Keys for Azure Authentication Tokens, tried both Production and Sandbox Azure Push Notification Hub modes, etc..

Apple PNS is responsible for actually sending the request to the iOS device. Once we make our Push Notification requests at Azure everything is a black box after that. The request either does or does not work. To us it seems essential to be able track a Push Notification request all the way through its entire lifecycle.

We have seen many forum posts detailing APNS configuration, but nothing about detailed request monitoring.

Is there a tool or portal (a way) to see the details of our Apple Push Notification requests? This is a very important part of supporting Push Notification services.

Our dev stack is PC: Windows 10, Visual Studio 2019 Professional with Xamarin Forms 4.8.0.1534 bridging to a MacBook Air macOS Catalina version 10.15.7, Xcode 12.1 (12A7403).

Thank you,
Don

Replies

Unfortunately there is no tool or portal to determine the fate of a notification request once it was received by APNs.
Although the HTTP/2 results returned should give you enough information to help diagnose any issues.
If there is an immediately obvious problem, APNs will return an error code. If it is returning 200 but the notifications are not delivered, that can be explained by situations like the device being out of reach of APNs at the time, or the app having been recently uninstalled.

You will want to contact your push provider to get a report of any HTTP/2 status returns that they are receiving.

If you want to further investigate an issue, you may want to open a Technical Support Incident (https://developer.apple.com/support/technical/) to have our team look and see if there are any issues there. A TSI would be the preferred way to do this, as we will need very specific information about your app and setup that you don't want to share publicly.