我正在创建一个 iOS 应用程序,对于我们的推送通知,我们正在使用亚马逊的简单通知服务 (SNS)。
SNS 很棒,但文档很少。我正在使用boto,亚马逊的 Python 库,并且我已经弄清楚如何发送纯文本推送通知:
device_arn = 'MY ENDPOINT ARN GOES HERE'
plain_text_message = 'a plaintext message'
sns.publish(message=plain_text_message,target_arn=device_arn)
但是,文档中并不清楚如何创建 Apple 推送通知服务 (APNS) 消息。我需要连同推送通知一起发送声音和徽章,但不知道如何格式化消息的 JSON。
到目前为止,这是我最好的猜测:
message = {'default':'default message', 'message':{'APNS_SANDBOX':{'aps':{'alert':'inner message','sound':'mySound.caf'}}}}
messageJSON = json.dumps(message,ensure_ascii=False)
sns.publish(message=messageJSON,target_arn=device_arn,message_structure='json')
但是,当我运行此代码时,我在通知中看到的只是“默认消息”——这意味着 Amazon SNS 拒绝了我的消息格式,default
而是显示了它。
如何正确格式化此 JSON?