2016-04-25 4 views
0

Я в процессе миграции моего приложения iOS из Parse в AWS и застрял в Parse Push -> AWS SNS. Сообщение успешно опубликовано через AWS, но никогда не приходит на устройство (попробовал несколько устройств). Работа с человеком AWS, незнакомым с мобильным телефоном, который также считает, что он должен работать. Кто-нибудь еще испытал это?Parse Push to AWS SNS

Заранее благодарен!

+0

Вы получаете какую-либо ошибку? –

+0

Нет, консоль AWS сообщает, что сообщение отправлено успешно. Устройство говорит, что подписка активна и соответствует ARN в консоли AWS. – JustK

+0

Создайте тему для сбоев и подпишитесь на нее. Некоторые подробности здесь. http://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html – Yonkee

ответ

1

AWS SNS странно, когда дело доходит до форматов сообщений. Вы отправляете его как объект JSON? Если да, то вам придется добавить этот атрибут в полезную нагрузку вашего сообщения. В python это похоже на: sns.publish(TargetArn= <your-endpoint>, Message= json.dumps(<your-message-dictionary-object>),MessageStructure = 'json')

Я предполагаю, что системные настройки уведомлений включены на устройстве iOS.

Еще одна полезная вещь - подписаться на неудачи доставки для приложения на приборной панели SNS. Перейти к приложениям -> выбрать приложение -> Действия -> Настроить события -> Отказы служб. Здесь вы можете указать ARN для лямбда-функции, SNS тему (который затем посылает электронную почту к вам) и т.д. Пример электронной почты отказа доставки -

{ «DeliveryAttempts»: 1, «EndpointArn»: "< мобильная конечная ARN>", "EventType": "DeliveryFailure", "FailureMessage": "Платформа лексемы связан с конечной точкой является не действительными", "FailureType": "InvalidPlatformToken", "MessageId":»< some-value> "," Resource ":" < your application arn> "," Service ":" SNS "," Time ":" < some-value> "}

Смежные вопросы