从Onesignal获取更多数据(Phonegap)

时间:2018-03-24 15:42:58

标签: javascript json cordova phonegap onesignal

我在这里阅读了文档: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);

如何检索此数据..

由于

2 个答案:

答案 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