推送通知 Titanium 显示整个有效负载而不是实际消息

Push notification Titanium shows whole payload instead of the actual message

我正在使用 cURL 向 appcelerator 发送推送通知,已经使用了一段时间没有问题。

appcelerator 突然无法处理 JSON 负载,并在实际设备上将整个 JSON 字符串显示为一条消息。这就是我们的 curl post 数据的样子:

channel=dev&payload={"alert":"The Message","title":"Title","vibrate":true, content-available:1, "badge":"+1", "sound":"default", "id":617, "icon":"appicon"}&to_ids=everyone

这是我的设备显示为推送通知的内容:

"{
   "alert":"The Message",
   "title":"Title",
   "vibrate":true, 
    content-available:1, 
   "badge":"+1", 
   "sound":"default", 
   "id":617, 
   "icon":"appicon"
 }"

而不是: "The Message"

您需要解析应用中的 JSON。有效载荷JSON。

因此,假设有效负载带有变量 data,您需要这样做:

alert(JSON.parse(data).alert);

这将显示负载的警报 属性。

原来 JSON 中有一个 \n 破坏了 JSON 字符串。先构建一个数组,然后在 PHP 中使用 json_encode() 修复了问题