作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 SNS 端点连接到 iOS 应用程序。当我发布到 sns 端点时:
anSNS.publish(
TargetArn=userLUT['mobrien'],
Message=aMessage,
MessageAttributes={
'one': {'DataType': 'String', 'StringValue': aOne},
'two': {'DataType': 'Number', 'StringValue': aTwo}
})
我在 launchOptions 中收到来自该构造函数的消息:
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
作为 .alert 字符串。
我没有收到 launchOptions 字典中的 MessageAttributes。我如何获取消息属性?
最佳答案
明白了这一点。您需要将消息类型切换为“json”,然后将 json 结构传递到“APNS”(或“APNS_SANDBOX”)结构的 Message 属性中。
anAPNS = '{{ "aps": {{ "alert": "{}", "one": "{}", "two": "{}" }} }}'.format(aMessage, 'one', 'two')
anSNS.publish(
TargetArn=arnGoesHere,
MessageStructure='json',
Message=json.dumps({
'default': aMessage,
'APNS_SANDBOX': anAPNS,
'APNS': anAPNS
}))
MessageAttributes 不会传递到最终的 apns 消息。
关于ios - 如何在 ios 应用程序中获取 sns 消息的 MessageAttributes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58231131/
我是一名优秀的程序员,十分优秀!