我在这里阅读了文档:https://documentation.onesignal.com/docs/cordova-sdk但它完全不清楚!
我尝试了几个测试什么,我的事件测试得到标题但仍然没有
document.addEventListener('deviceready', function () {
// Enable to debug issues.
// window.plugins.OneSignal.setLogLevel({logLevel: 4, visualLevel: 4});
var notificationOpenedCallback = function(jsonData) {
alert('notificationCallback: ' + JSON.stringify(jsonData)); => json data
alert('Title : '+ JSON.stringify(jsonData.payload.title)); => nothing
alert('Title2 : '+ jsonData.payload.title); => nothing
alert('Additional data: '+ jsonData.payload.additionalData); => nothing
};
window.plugins.OneSignal
.startInit("MY_ID")
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
}, false);
如何检索此数据..
由于
答案 0 :(得分:3)
在我的应用程序上进行多次调试后,我终于找到了该应用程序。 jsonData的JSON结构是:
jsonData
notification: {
payload: {
title: "YOUR_TITLE",
body: "BODY",
additionalData: {
"YOUR_KEY" : "YOUR_VALUE"
},
所以要检索你的数据:
JSON.stringify(jsonData.notification.payload.additionalData.<YOUR_KEY>)
答案 1 :(得分:0)
而不是 jsonData.payload 尝试 jsonData.OSNotificationPayload
例如:访问标题
jsonData.OSNotificationPayload.title