我正在将我的iOS应用程序从Parse迁移到AWS并且停留在Parse Push上 - > AWS SNS。消息通过AWS成功发布,但从未到达设备(尝试过多个设备)。与不熟悉移动设备的AWS人员合作,他们也认为应该可以使用。还有其他人经历过这个吗?
提前致谢!!!
答案 0 :(得分:1)
AWS SNS在消息格式方面很奇怪。您是将其作为JSON对象发送?
如果是,那么您必须将该属性添加到消息有效负载中。在python中它就像 - sns.publish(TargetArn= <your-endpoint>, Message= json.dumps(<your-message-dictionary-object>),MessageStructure = 'json')
我假设iOS设备上的系统范围通知设置已开启。
另一个有用的事情是在SNS仪表板中订阅应用程序的传递失败。转到应用程序 - &gt;选择你的申请 - &gt;行动 - &gt;配置活动 - &gt;交货失败。在这里,您可以为lambda函数指定ARN,SNS主题(然后向您发送电子邮件)等。 传递失败电子邮件的一个示例是 -
{&#34; DeliveryAttempts&#34;:1,&#34; EndpointArn&#34;:&#34;&LT;您的移动终端 ARN&gt;&#34;,&#34; EventType&#34;:&#34; DeliveryFailure&#34;,&#34; FailureMessage&#34;:&#34;平台令牌 与端点关联的不是 有效&#34;&#34; FailureType&#34;:&#34; InvalidPlatformToken&#34;&#34;的MessageId&#34;:&#34;&LT;一些值&GT;&#34;&#34;资源&#34;:&#34;&LT;您的 应用程序arn&gt;&#34;,&#34;服务&#34;:&#34; SNS&#34;,&#34;时间&#34;:&#34;&lt;一些值&GT;&#34;}