Как настроить идентификаторы уведомлений APNS для удаленных push-уведомлений, созданных с использованием AWS SNS? - PullRequest
0 голосов
/ 26 августа 2018

Я использую AWS SNS SDK в серверной части для отправки удаленных уведомлений в мое приложение, и мне нужно иметь возможность установить идентификатор уведомления, чтобы определенные уведомления по умолчанию заменяли ранее доставленные копии, как описано в Документы для разработчиков iOS :

Если вы используете тот же идентификатор при планировании нового уведомления, система удаляет ранее запланированное уведомление с этим идентификатором и заменяет его новым.

Это легко сделать с локальными уведомлениями, потому что они запланированы в приложении, где вы можете установить идентификатор уведомления при планировании уведомления.

Однако с удаленными уведомлениями я не могукажется, что можно найти какой-либо способ установить идентификатор уведомления с помощью SNS SDK (в лямбда-выражении, написанном на .NET).

Согласно справке API, SNS возвращает ответ сидентификатор сообщения (который, вероятно, является идентификатором уведомления), но я не вижу способаустановите идентификатор самостоятельно.

Кто-нибудь знает, как это сделать?Или SNS просто не позволяет этого?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Похоже, что AWS SNS просто не позволяет настраивать идентификаторы уведомлений в целом, а также не позволяет настраивать заголовки HTTP, отправляемые в APNS .

Единственным жизнеспособным решением для замены удаленных push-уведомлений по прибытии является использование расширения службы уведомлений до проверки доставленных уведомлений всякий раз, когда приходит новое, и замены любых предыдущих копий на новая версия .

Похоже, что он работает согласованно, и у вас есть возможность либо установить пользовательское свойство полезной нагрузки, либо свойство thread-id в уведомлении JSON, чтобы затем проверить его на устройстве перед отправкой каждого уведомления.

0 голосов
/ 01 сентября 2018

Вы можете настроить полезную нагрузку, как описано в AWS: https://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html

При отправке полезных нагрузок платформы в сообщениях с помощью консоли Amazon SNS данные должны представлять собой строки пары ключ-значение и форматироватьсякак JSON с кавычками сбежал.В следующем примере, включая форматирование и пробелы для удобства чтения, показан пример настраиваемого сообщения для платформы GCM с парой ключ-значение в теле сообщения, отформатированной в формате JSON.

{"GCM": "{" data ": {"message": "Ознакомьтесь с этими потрясающими предложениями!", "url": "www.amazon.com"}} "}

Вы можете добавить свой идентификатор в качестве настраиваемого поля.

РЕДАКТИРОВАТЬ: Если вам нужно добавить заголовки, вы можете прокси-запрос через функцию лямбда: https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html И это поток здесь показывает, как добавить заголовки ответа с использованием лямбда: Настройка HTTP-заголовка ответа от AWS lambda

...