Push-уведомления от бэкенда Django к фронтенду iOS/Swift
Я попал в неприятную ситуацию и не уверен, как поступить.
- Нам нужно было реализовать django push-уведомления для этого проекта.
- Я исследовал, какую библиотеку лучше всего использовать. django-push-notifications (https://github.com/jazzband/django-push-notifications) выглядела как наиболее современная библиотека, которую можно использовать. Часть APNS построена на apns2 (https://github.com/Pr0Ger/PyAPNs2) .
- Мне пришлось сделать несколько модификаций для тестирования BE. По сути, я настроил проект так, чтобы он делал все правильно на моей стороне, а затем "притворился", что отправляю push-уведомление в apple. На этом этапе рукопожатие между django и apple не происходило.
- Во время тестирования используется самоподписанный сертификат, просто чтобы сделать apns2 счастливым. Поскольку heroku не позволяет загружать файлы, мне пришлось сделать кое-что хитрое, чтобы загрузить сертификат в файл в django (в основном, чтение из переменной окружения и запись в файл).
- Только недавно до меня дошло, что разработчик FE передал мне только закрытый ключ, а не сертификат. django_push_notifications требует сертификат. Далее он сказал мне, что Apple отказалась от сертификатов в 2019 году и использует только закрытые ключи. .
- У django_push_notifications не было никаких проблем по этому вопросу. [однако, я заметил эту страницу в документации: https://github.com/jazzband/django-push-notifications/blob/master/docs/APNS.rst] .
Generation of an APNS PEM file
------------------------------
The ``APNS_CERTIFICATE`` setting must reference the location of a PEM file. This file must contain a certificate and private key pair allowing a secure connection to Apple's push gateway.
Может ли кто-нибудь посоветовать? Что я упускаю?