从 Onesignal (Phonegap) 获取附加数据
Posted
技术标签:
【中文标题】从 Onesignal (Phonegap) 获取附加数据【英文标题】:Get additionalData from Onesignal (Phonegap) 【发布时间】:2018-09-03 03:10:31 【问题描述】:我在这里阅读了文档: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);
如何检索此数据..
谢谢
【问题讨论】:
【参考方案1】:在我的应用程序上多次调试后,我终于找到了应用程序。 jsonData的JSON结构是:
jsonData
notification:
payload:
title: "YOUR_TITLE",
body: "BODY",
additionalData:
"YOUR_KEY" : "YOUR_VALUE"
,
所以要检索您的数据:
JSON.stringify(jsonData.notification.payload.additionalData.<YOUR_KEY>)
【讨论】:
【参考方案2】:用 jsonData.OSNotificationPayload
代替 jsonData.payload例如:访问标题
jsonData.OSNotificationPayload.title
【讨论】:
您好,感谢您的回复。但它仍然不起作用。没有警报:alert('notificationCallback: ' + JSON.stringify(jsonData)); => //all data alert('Payload: ' + JSON.stringify(jsonData.OSNotificationPayload)); // => undefined alert('Title : '+ JSON.stringify(jsonData.OSNotificationPayload.title)); // => no alerts alert('Data : '+ JSON.stringify(jsonData.OSNotificationPayload.additionalData)); // => no alerts
以上是关于从 Onesignal (Phonegap) 获取附加数据的主要内容,如果未能解决你的问题,请参考以下文章
phonegap + Onesignal 和 minSdkVersion 错误
PhoneGap 上的 OneSignal for iOS 不注册设备
Phonegap - OneSignal 推送通知 - 每当用户点击通知时应用程序都会重新启动