APNS Служба push-уведомлений Apple не получает сообщение об успешном выполнении от Apple

#ios #push-notification #apple-push-notifications

Вопрос:

Мы пытаемся отправлять push-уведомления на api.push.apple.com. мы используем Ruby on Rails на стороне сервера для отправки APNS. Мы уже используем TLS 1.2 и HTTP2. Мы попробовали оба порта 443 и 2197.

{:хост=>»api.push.apple.com», : порт=>>»443″, :сертификат=>>>»Атрибуты сумкиn Дружеское имя: Сервисы Apple Push: com.company.bundlen Локальный идентификатор: BA 6F 55 DA D5 7A B4 D3 DC 84 B3 CE DC 8d 0A A5 2D 08 9A F4 nsubject=UID = com.summit.2019, CN = Сервисы Apple Push: com.summit.2019, OU = HHGY6CWBZB, O = MovingMedia AB, C = SEnnissuer=C = США, O = Apple Inc., OU = Международные отношения с разработчиками Apple, CN = Центр сертификации по связям с разработчиками Apple по всему мируnn——НАЧАТЬ СЕРТИФИКАТ—— [Сертификат PEM Здесь] —ЗАКРЫТЫЙ КЛЮЧ КОНЦА——n», :certificate_passphrase=>>>>»»}

Полезная нагрузка: {«aps»=>{«предупреждение»=>>»проверка на apn», «значок»=>>>14}}

Шестнадцатеричный ответ: «x00x00x18x04x00x00» «x00x00x00x00x01x00»

Когда мы их распаковываем, мы получаем следующий ответ соответственно: [0, 0, 1048 ] [0, 0, 65536]

Мы провели дополнительную отладку с нашей стороны и обнаружили, что уведомления работали при отправке с терминала с помощью команды curl, но она не работала при отправке через наш сервер. Мы считаем, что это связано с изменением сервера от Apple для Push-уведомлений. Пожалуйста, помогите

Ответ №1:

Я помню, что у меня были похожие проблемы, когда я впервые попытался внедрить Push-уведомления Apple через RoR. Вместо того, чтобы пытаться вручную исправить это — я переключился на хьюстонский драгоценный камень и никогда не оглядывался назад. Дайте этому попробовать:

https://github.com/nomad/houston