无法解析 Titanium 中的推送有效负载消息
Can't parse push payload message in Titanium
在我的应用程序中,我无法解析来自推送通知的 "payload" 对象。从服务器发送推送后,有效负载中的每个 属性 中会自动添加 '/'。我如何解析有效负载 property/object 并在我的代码中获取通知数据?
这里是负载对象:
"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}"
这是来自 fcm 服务器的完整通知消息:
{"type":"callback","source":{"showTrayNotification":true,"pushType":"gcm","enabled":false,"showTrayNotificationsWhenFocused":false,"singleCallback":false,"focusAppOnPush":false,"showAppOnTrayClick":true,"debug":false,"apiName":"Ti.Module","bubbleParent":true,"invocationAPIs":[],"__propertiesDefined__":true,"_events":{"callback":{}}},"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}","bubbles":false,"cancelBubble":false}
这是我的代码 -
CloudPush.addEventListener('callback', function(evt) {
var json = JSON.stringify(evt.payload);
Ti.API.info("datos = " + json.android);// This line shows undefined
});
Payload 已经是字符串你需要解析它并使用反函数
var json = JSON.stringify(evt.payload);
JSON.stringify(对象)-> return 字符串
JSON.parse(StringOject) -> return 对象
在我的应用程序中,我无法解析来自推送通知的 "payload" 对象。从服务器发送推送后,有效负载中的每个 属性 中会自动添加 '/'。我如何解析有效负载 property/object 并在我的代码中获取通知数据?
这里是负载对象:
"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}"
这是来自 fcm 服务器的完整通知消息:
{"type":"callback","source":{"showTrayNotification":true,"pushType":"gcm","enabled":false,"showTrayNotificationsWhenFocused":false,"singleCallback":false,"focusAppOnPush":false,"showAppOnTrayClick":true,"debug":false,"apiName":"Ti.Module","bubbleParent":true,"invocationAPIs":[],"__propertiesDefined__":true,"_events":{"callback":{}}},"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}","bubbles":false,"cancelBubble":false}
这是我的代码 -
CloudPush.addEventListener('callback', function(evt) {
var json = JSON.stringify(evt.payload);
Ti.API.info("datos = " + json.android);// This line shows undefined
});
Payload 已经是字符串你需要解析它并使用反函数
var json = JSON.stringify(evt.payload);
JSON.stringify(对象)-> return 字符串 JSON.parse(StringOject) -> return 对象