无法获取 OneSignal 用户 ID (cordova)
Can't get OneSignal user id (cordova)
无法获取 OneSignal 用户 ID。我收到错误 "Cannot read property OneSignal of undefined null"
window.plugins.OneSignal
.startInit(OneSingalID)
.handleNotificationReceived(function (jsonData) {
setTimeout(function () {
removeNotications();
}, 1000 * 60); // 1 min.
})
.handleNotificationOpened(notificationOpenedCallback)
.inFocusDisplaying(window.plugins.OneSignal.OSInFocusDisplayOption.None)
.endInit();
window.plugins.OneSignal.getUserId(function (id) { // <- error
console.log(id)
});
这个也不行:
window.plugins.OneSignal.getIds(function(ids) {
console.log(ids);
});
我不是科尔多瓦专家,但在 Google 上搜索让我找到了 this issue on Github。如果我没记错的话,当用户同意允许通知时,此方法有效。
相关代码:
let me = this; window["plugins"].OneSignal .startInit("XXXXXXXXX", "XXXXXXX") .handleNotificationOpened(notificationOpenedCallback).endInit();
window["plugins"].OneSignal.addSubscriptionObserver(function (state) { if (!state.from.subscribed && state.to.subscribed) { me.showAlertDialog('userId',state.to.userId); } me.showAlertDialog('state',JSON.stringify(state)); })
Link 到文档:https://documentation.onesignal.com/docs/cordova-sdk#section--addsubscriptionobserver-
无法获取 OneSignal 用户 ID。我收到错误 "Cannot read property OneSignal of undefined null"
window.plugins.OneSignal
.startInit(OneSingalID)
.handleNotificationReceived(function (jsonData) {
setTimeout(function () {
removeNotications();
}, 1000 * 60); // 1 min.
})
.handleNotificationOpened(notificationOpenedCallback)
.inFocusDisplaying(window.plugins.OneSignal.OSInFocusDisplayOption.None)
.endInit();
window.plugins.OneSignal.getUserId(function (id) { // <- error
console.log(id)
});
这个也不行:
window.plugins.OneSignal.getIds(function(ids) {
console.log(ids);
});
我不是科尔多瓦专家,但在 Google 上搜索让我找到了 this issue on Github。如果我没记错的话,当用户同意允许通知时,此方法有效。
相关代码:
let me = this; window["plugins"].OneSignal .startInit("XXXXXXXXX", "XXXXXXX") .handleNotificationOpened(notificationOpenedCallback).endInit();
window["plugins"].OneSignal.addSubscriptionObserver(function (state) { if (!state.from.subscribed && state.to.subscribed) { me.showAlertDialog('userId',state.to.userId); } me.showAlertDialog('state',JSON.stringify(state)); })
Link 到文档:https://documentation.onesignal.com/docs/cordova-sdk#section--addsubscriptionobserver-