Reputation: 545
Can't get OneSignal user id. I get error "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)
});
This one didn't work too:
window.plugins.OneSignal.getIds(function(ids) {
console.log(ids);
});
Upvotes: 1
Views: 1467
Reputation: 3675
I am not a cordova expert, but searching on Google led me to this issue on Github. This works when user has agreed to allow notifications if I'm not wrong.
Relevant code:
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 to documentation: https://documentation.onesignal.com/docs/cordova-sdk#section--addsubscriptionobserver-
Upvotes: 3