мы развиваем бизнес-мессенджер. Используйте APN для отправки сообщений на устройства iOS.
Проблема в том, что иногда на устройстве дублируются уведомления.
Мы нашли одну из причин:
Если при отправке запроса в APS ответ не приходит в течение 10 секунд (тайм-аут), мы считаем отправку неудачной и делаем повторную отправку. В этом случае происходит дублирование push.
В качестве решения мы добавили поле коллапса-id в заголовок http. Он уникален для каждого сообщения, поэтому при повторной отправке сообщение заменяется.
Но с добавлением идентификатора коллапса возникла другая проблема. Иногда push дублируется, в то время как мы отправляем только один запрос на APN. Существует предположение, что это ошибка APN.
Мы не можем установить причину. Кто-нибудь сталкивался с этой проблемой?