推送通知有效负载在iOS中没有空格

时间:2014-10-03 10:18:23

标签: ios apple-push-notifications ibm-mobilefirst

我正在尝试使用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}

1 个答案:

答案 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字段中,您可以发送一些专门的"标记"如果存在,则在应用程序中执行某个操作。否则,什么都不做......或其他什么......