我正在使用 @ nuxtjs / pwa 和 @ nuxtjs / onesignal 。 我在安装的 subscriptionChange 事件的监听器上遇到问题。 localhost 可以很好地工作, 问题发生在生产上。
mounted() {
let self = this;
this.$OneSignal.push(() => {
self.$OneSignal.on('subscriptionChange', (isSubscribed) => {
if (isSubscribed) {
self.$OneSignal.getUserId().then((deviceId) => {
self.addDeviceId(deviceId)
});
}
});
});
}
谢谢并感谢。
答案 0 :(得分:2)
window.OneSignal = window.OneSignal || []
window.OneSignal.push(() => {
window.OneSignal.getUserId(async (userId) => {
await this.$store.dispatch(
'Authenticated/overview/updatePushID',
userId
)
})
})
无论是在本地还是在生产上,这对我来说都是工作
答案 1 :(得分:1)
幸运的是,几小时前我遇到了这些问题,您需要使用全局窗口方法访问Onesignal
window.OneSignal = window.OneSignal || []
window.OneSignal.push(() => {
window.OneSignal.on('subscriptionChange', (isSubscribed) => {
if (isSubscribed) {
window.OneSignal.getUserId().then((deviceId) => {
self.addDeviceId(deviceId)
});
}
});
})