LT about periodic background sync at #remo_study
PeriodicBackgroundSyncPeriodicBackgroundSync
View Slide
BackgroundSyncself.on('sync', (e) => {// retry failed request while// offline in background})
PeriodicBackgroundSyncself.on('periodic-sync', (e) => {// periodically refresh contents// up to date in background.})
Use Case - PodcastFeedUpdate
// register PBSconst name = 'periodic-background-sync'const status = await navigator.permissions.query({name})if (status.state === 'granted') {await registration.periodicSync.register('refresh', {minInterval: 12 * 60 * 60 * 1000 // 12h})}
Security Consideration
#4: 156.74.xxx.xxx#1: 14.102.xxx.xxx#2: 81.177.xxx.xxx#3: 24.152.xxx.xxxBackground Sync Trackingalso● crypto mining● bot net
Known Network
PermissionIn Chrome
Permission ModelPermission Dialog ?User Gesture ?Feature Policy ?Add to Home Screen !!
Native App Permission-> InstallWeb App Permission-> Install
RestrictionIn Chrome
● Periodic depends on site-engagement.● Only fire under known network.
Site Engagement
Periodic Background Sync enables...● Installed App via A2HS● Enough Site-Engagement● Connected to Known Network● Android Chrome only
Work in progress...