OneSignal / OneSignal-Website-SDK

OneSignal is a push notification service for web and mobile apps. This SDK makes it easy to integrate your website with OneSignal Push Notifications. https://onesignal.com
Other
388 stars 115 forks source link

Investigate expiring Chrome subscriptions #154

Closed jasonpang closed 6 years ago

jasonpang commented 7 years ago

This user is seeing some drop offs in Chrome subscriptions, and linked to another provider's article (see section on User Activity) that mentioned similar issues. It's possible this is an issue in Chrome, but it's worth setting up strict tracking to discover the extent of this issue.

gdeglin commented 7 years ago

https://bugs.chromium.org/p/chromium/issues/detail?id=642139

gdeglin commented 7 years ago

Hopefully fixed in 54, as described in the link above. 54 is released on Web, but not on Android yet.

tixastronauta commented 7 years ago

@gdeglin @jasonpang as i talked with @jasonpang, re-opening the popup window will re-register the service worker. I also tested simply opening the HTTPS website - without running OneSignal's subscribe javascript method - it also re-registers the service worker.

floffimedia commented 7 years ago

I am dealing with the same issue: My subscriptions in Chrome 56 on Windows 10 will expire after a week or so, and when I resubscribe, the Player ID changes. Here are my logs before and after the expiration:


cdn.onesignal.com/sdks/OneSignalSDK.js:1
Called isPushNotificationsEnabled() .

cdn.onesignal.com/sdks/OneSignalSDK.js:1
Called getUserId() .

cdn.onesignal.com/sdks/OneSignalSDK.js:1
Called getRegistrationId() .

cdn.onesignal.com/sdks/OneSignalSDK.js:1
Called isOptedOut() .

undefined

VM125:12
Is Completely Subscribed: true

VM125:13 
VM125:14
What is our OneSignal user ID? 0f05c5d7-df74-4e07-be03-bd87828c6870

VM125:15
What is our push subscription token?
fFlmou7TCF0:APA91bHUPcwQ2Y10Eu5nAM2yfkTI8Hd97GQyjLOsgFHfvcYwcOAfOoWA7uv5MpKObimTDdRlqEAL5fagYSSGtFNADYLoXjCrl3S5iviEivsAzUFaJ0FMY6aZmFR6HZp01OEJr82YPC7j

VM125:16
What is the notification permission status? granted

VM125:17
Are you manually opted out? false

VM125:18
Is a service worker registered and active? (should be false on Safari) true

VM125:19
What is the current URL of this page? https://floffi.media/de/

VM125:20
What environment does OneSignal think it's in? host

utils.ts:110
Called isPushNotificationsEnabled() .

utils.ts:110
Called getUserId() .

utils.ts:110
Called getRegistrationId() .

utils.ts:110
Called isOptedOut() .

undefined

VM70:12
Is Completely Subscribed: false

VM70:13 
VM70:14
What is our OneSignal user ID? null

VM70:15
What is our push subscription token? null

VM70:16
What is the notification permission status? granted

VM70:17
Are you manually opted out? false

VM70:18
Is a service worker registered and active? (should be false on Safari) false

VM70:19
What is the current URL of this page? https://floffi.media/de/

VM70:20
What environment does OneSignal think it's in? host

Unfortunately, I am travelling at the moment, so I only have this one device to run tests.

floffimedia commented 7 years ago

Can somebody please point me in the right direction as to how I best investigate this matter?

I’m referring to my last comment. I still don’t know how to reproduce this error, but to me it seems like a huge deal. I can’t have subscriptions expire after a few days, and that’s something that affects the most common browser on the most common OS.

Is it more likely to be an issue with OneSignal, or rather Chrome? Could it be cookies, a service worker / Javascript bug, or maybe a caching problem?

Any help would be greatly appreciated.

jasonpang commented 7 years ago

Hey Florian,

This is a tricky bug we haven't found all the causes to yet. I'd like to say this could be simply a result of clearing your browser data, which should produce the same results. Here are some points I can think of:

Here are some ways we can test it:

jasonpang commented 6 years ago

This is now tracked internally.

loris commented 6 years ago

@jasonpang would you mind sharing any causes you might have found internally? It looks like a more global issue at the Chromium/GCM level and have nothing to do with One Signal, do you confirm?