解析推送到AWS SNS
问题描述:
我正在将我的iOS应用程序从Parse迁移到AWS,并且卡在Parse Push - > AWS SNS上。该消息通过AWS成功发布,但永远不会到达设备(尝试多个设备)。与不熟悉移动设备的AWS人员合作,他们也认为它应该有效。任何人都经历过这个?解析推送到AWS SNS
在此先感谢!
答
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“,”时间“:”<某些值>“}
您是否收到任何错误? –
不,AWS控制台表示邮件已成功发送。该设备表示订阅处于活动状态,并与AWS控制台中的ARN相匹配。 – JustK
为故障创建主题并订阅它。这里有一些细节。 http://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html – Yonkee