2016-04-25 178 views
0

我正在將我的iOS應用程序從Parse遷移到AWS,並且卡在Parse Push - > AWS SNS上。該消息通過AWS成功發佈,但永遠不會到達設備(嘗試多個設備)。與不熟悉移動設備的AWS人員合作,他們也認爲它應該有效。任何人都經歷過這個?解析推送到AWS SNS

在此先感謝!

+0

您是否收到任何錯誤? –

+0

不,AWS控制檯表示郵件已成功發送。該設備表示訂閱處於活動狀態,並與AWS控制檯中的ARN相匹配。 – JustK

+0

爲故障創建主題並訂閱它。這裏有一些細節。 http://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html – Yonkee

回答

1

AWS SNS在消息格式方面很怪異。你是否將它作爲JSON對象發送? 如果是,那麼您將不得不將該屬性添加到您的消息負載。在蟒蛇它就像 - sns.publish(TargetArn= <your-endpoint>, Message= json.dumps(<your-message-dictionary-object>),MessageStructure = 'json')

我假設系統範圍的通知設置在iOS設備上打開。

另一個有用的事情是訂閱SNS儀表板中應用程序的交付失敗。轉到應用程序 - >選擇您的應用程序 - >操作 - >配置事件 - >傳送失敗。在這裏,你可以指定一個lambda函數,一個SNS主題ARN(然後發送電子郵件給你)等 傳遞失敗的電子郵件的一個例子是 -

{「DeliveryAttempts」:1,「EndpointArn」: 「<您的移動端點 ARN>」,「EventType」:「DeliveryFailure」,「FailureMessage」:「與端點關聯的平臺標記 不是 有效」,「FailureType」:「InvalidPlatformToken」,「MessageId」:「<某些值>「,」資源「:」<您的 應用程序服務>「,」服務「:」SNS「,」時間「:」<某些值>「}