I have an iOS app that requires Push capability and to that end have created necessary dev and Prod SSL certs and loaded them on the notification provider(node-apn);
Notifications work fine in the APNs sandbox environment however, when sending notifications on the Production setup, the provider is getting missing topics error from APNs gateway.
Upon inspecting the prod certs, I see three items listed under certificate extensions as expected :
- app.bundle.id
- app.bundle.id.voip and
- app.bundle.id.complication
APSd logs on the phone, show that relevant topic (app.bundle.id) was enabled when the app registered its notification settings with the OS. So, the setup looks fine to me on the app side.
According to Apple documentation, the notification publish POST from Provider MUST include an apn-topic
header iff, the app supports multiple topics.
My understanding is that voip and complication nodes are added automatically to certificate extensions and do not necessarily mean separate topics.
Questions :
Is apn-topic header mandatory or optional?
Is the above setup treated as multi-topic or single topic?
Does every notification provider need to know bundle ID/topic for each app it supports and use that value to send apn-topic header to APNs?
Kindly advise.