java - AWS Java SDK 为 iOS 发送带声音的 SNS (AWS) 消息应该是什么 Json 字符串?

标签 java ios amazon-web-services apple-push-notifications amazon-sns

我彻底崩溃了。我有为 iOS 发送 SNS (AWS) 的代码:

PublishRequest publishRequest = new PublishRequest("arn:aws:sns:us-east-1:my:topic", messageBody);

当我像这样通过 Json 时它工作正常:

{"message": "ldjldkjlk"}

但是我当然需要声音来通知我,但对我来说没有任何用处。我尝试使用 Json,当我将它传递给 SNS GUI 时它可以工作,类似这样:

{"message": { 
    "default": "HERE IS AN ALERT, BADGE, and SOUND",
    "APNS_SANDBOX": "{\"aps\": {\"alert\":\"HERE IS AN ALERT, BADGE, and SOUND!\",\"badge\": 1,\"sound\":\"bingbong.aiff\"}}"
}}

但是我得到错误:

{"timestamp":1435334944602,"status":400,"error":"Bad Request","exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"Could not read JSON: Can not deserialize instance of java.lang.String out of START_OBJECT token\n at [Source: java.io.PushbackInputStream@2db14d22; line: 1, column: 15]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token\n at [Source: java.io.PushbackInputStream@2db14d22; line: 1, column: 15]","path":"/sns/send"}

他们对 PublishRequest 做了什么?我应该在那里传递什么? 如果有人帮助我,那就太好了!

最佳答案

天哪,我自己找到了一个答案,应该是这样的:

String message = "{\"apn\": { \n" +
                    "    \"default\": \"HERE IS AN ALERT, BADGE, and SOUND\",\n" +
                    "    \"APNS_SANDBOX\": \"{\\\"aps\\\": {\\\"alert\\\":\\\"HERE IS AN ALERT, BADGE, and SOUND!\\\",\\\"badge\\\": 1,\\\"sound\\\":\\\"bingbong.aiff\\\"}}\"\n" +
                    "}}";
            publishRequest.setMessage(message);
            publishRequest.setMessageStructure("json");

关于java - AWS Java SDK 为 iOS 发送带声音的 SNS (AWS) 消息应该是什么 Json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31077854/

相关文章:

java - 使用递归时最小数组值不正确

java - 如何将 "attach"赋给一个对象

amazon-web-services - AWS DMS 的内部工作原理

java - 为什么字符串在 Java 中以 ""开头?

java - 为什么 hibernate 将 tinyint(1) 映射到 java.lang.Boolean?

ios 无法更改 cellforrowatindexpath 中图像的角半径

iphone - 具有先前 View 的主/详细项目

ios - iPad 上的 Silverlight 支持吗?

amazon-web-services - aws cloudwatch 日志 state_file 在哪里?

javascript - AWS : ssm:GetParameters AccessDeniedException