我正在尝试使用Worklight向iOS设备发送通知。我的问题是,在我从APNS服务器收到的有效负载中,通知没有空格:
预期通知
"aps" : {
"alert" :
{ "action-loc-key" : "", "body" : "You have a new message." }
,
"badge" : 0,
"sound" : "",
},
"payload" : "
{"alias":"sometext","body":"Uldis:Testingamessage","createdDate":141101237574,"msgId":5412327,"msgType":"WARNING","scheduledDate":141121037574,"sub":"Uldis:Testmessage","type":"MK_MSG","updatedDate":121411037574}
"
}
获得通知
"aps" : {
"alert" :
{ "action-loc-key" : "", "body" : "You have a new message." }
,
"badge" : 0,
"sound" : "",
},
"payload" : "
{\"alias\":\"sometext\",\"body\":\"Uldis:Testingamessage\",\"createdDate\":1411037574,\"msgId\":5423327,\"msgType\":\"WARNING\",\"scheduledDate\":141123037574,\"sub\":\"Uldis:Testmessage\",\"type\":\"MT_MSG\",\"updatedDate\":141123037574}
答案 0 :(得分:0)
不应从自定义数据中删除空格,我会为此打开一个缺陷。然而,
来自文档:
notificationText - 可选。显示在的字符串 警报。在Windows Phone 8上,字符串显示在应用程序中 瓷砖标题。
有效负载 - 可选。传输到的JSON块 应用。在iOS和Android上,有效负载将转移到 应用程序是否由用户打开时应用程序 收到通知,或者申请已经开放。上 在Windows Phone 8中,有效负载作为一个转移到应用程序 仅当应用程序已经打开时才会显示原始通知。
payload
JSON块不适用于传输'通知文本。如果您将notificationText
变量作为custom
键的值,则它将显示为没有空格。但同样,有效载荷不是您应该将通知文本放在哪里开始的。
正确:
var notification = WL.Server.createDefaultNotification(notificationText, badgeDigit, {custom:"data"});
不正确:
var notification = WL.Server.createDefaultNotification(notificationText, badgeDigit, {custom:notificationText});
在custom
字段中,您可以发送一些专门的"标记"如果存在,则在应用程序中执行某个操作。否则,什么都不做......或其他什么......