无法获得OneSignal用户ID(cordova)

问题描述 投票:0回答:1

无法获取OneSignal用户ID。我收到错误“无法读取属性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);
});
javascript cordova-plugins onesignal
1个回答
1
投票

我不是科尔多瓦专家,但在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)); })

链接到文档:https://documentation.onesignal.com/docs/cordova-sdk#section--addsubscriptionobserver-

© www.soinside.com 2019 - 2024. All rights reserved.