跟踪已安装的pwa实例

时间:2018-12-11 14:11:00

标签: progressive-web-apps

我们希望为用户跟踪每个pwa安装。因此,我们可以跟踪通知,就像已安装的每个应用程序用户实例(pc或电话,ff或chrome)是否都已收到更新。我们可以知道pwa实例已卸载吗?我们是否可以知道Web推送已传递到每个实例?

1 个答案:

答案 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
        }),
     });
}