我们希望为用户跟踪每个pwa安装。因此,我们可以跟踪通知,就像已安装的每个应用程序用户实例(pc或电话,ff或chrome)是否都已收到更新。我们可以知道pwa实例已卸载吗?我们是否可以知道Web推送已传递到每个实例?
答案 0 :(得分:0)
在您的服务人员中,在“安装”事件中向服务器发送http帖子。您需要从indexdb或类似数据库中获取用户ID。使用“获取”而不是xmlhttp服务工作者。
self.addEventListener('install', function(e) {
console.log('[ServiceWorker] Install');
e.waitUntil(
caches.open(cacheName).then(function(cache) {
console.log('[ServiceWorker] Caching app shell');
var rc = cache.addAll(filesToCache);
postServerStatus( "installcomplete" );
return rc;
})
);
});
function postServerStatus( strStatus ) {
var strUserID = "getfromindexdb";
fetch('./datasvc.aspx', {
method: 'post',
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({
service: strStatus,
userid: strUserID
}),
});
}