У меня есть приложение iOS, для которого требуется возможность Push, и для этого я создал необходимые SSL-сертификаты dev и Prod и загрузил их в поставщика уведомлений (node-apn);
Уведомления отлично работают в среде песочницы APN, однако при отправке уведомлений в производственной настройке провайдер получает сообщение об ошибке отсутствующих тем от шлюза APN.
При проверке сертификатов продукта я вижу три элемента, перечисленных в расширениях сертификата, как и ожидалось:
- app.bundle.id
- app.bundle.id.voip и
- app.bundle.id.complication
Журналы APSd на телефоне показывают, что соответствующая тема (app.bundle.id) была включена, когда приложение зарегистрировало свои настройки уведомлений в ОС. Итак, настройка выглядит нормально для меня на стороне приложения.
Согласно документации Apple, уведомление о публикации POST от провайдера ДОЛЖНО включать заголовок apn-topic
, если и только если приложение поддерживает несколько тем.
Насколько я понимаю, узлы voip и усложнения добавляются автоматически в расширения сертификата и не обязательно означают отдельные темы.
Вопросы :
Является ли заголовок apn-topic обязательным или необязательным?
Рассматривается ли указанная выше установка как многотемная или как одна тема?
Нужно ли каждому поставщику уведомлений знать идентификатор/тему пакета для каждого приложения, которое он поддерживает, и использовать это значение для отправки заголовка apn-topic в APN?
Добрый совет.