e. $ OneSignal.on не является функцией для Nuxt js PWA - OneSignal - PullRequest
3 голосов
/ 19 апреля 2020

Я использую @ nuxtjs / pwa вместе с @ nuxtjs / onesignal . У меня проблема со слушателем события subscriptionChange при подключении. Он очень хорошо работает с localhost , проблема возникла на production .

mounted() {
  let self = this;
  this.$OneSignal.push(() => {
  self.$OneSignal.on('subscriptionChange', (isSubscribed) => {
    if (isSubscribed) {
      self.$OneSignal.getUserId().then((deviceId) => {
        self.addDeviceId(deviceId)
      });
     }
    });
  });
}

При производственной ошибке: enter image description here

Спасибо и ценим.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020
window.OneSignal = window.OneSignal || []
    window.OneSignal.push(() => {
      window.OneSignal.getUserId(async (userId) => {
        await this.$store.dispatch(
          'Authenticated/overview/updatePushID',
          userId
        )
      })
    })

Это работает для меня, как локально, так и на производстве

0 голосов
/ 24 апреля 2020

К счастью, у меня были эти проблемы несколько часов назад, вам нужно получить доступ к Onesignal, используя метод глобального окна

window.OneSignal = window.OneSignal || []
window.OneSignal.push(() => {
  window.OneSignal.on('subscriptionChange', (isSubscribed) => {
    if (isSubscribed) {
      window.OneSignal.getUserId().then((deviceId) => {
        self.addDeviceId(deviceId)
      });
    }
  });
})
...