PWA-检测安装结束

时间:2021-03-23 18:03:37

标签: progressive-web-apps

我已经制作了一些 PWA,现在我正在使用“beforeinstallprompt”来显示提示,让用户选择安装与否。 当用户选择“安装”时,当然可以显示一条消息,指示安装正在进行中。 但是我们如何检测安装过程的结束?请注意 appinstalled 不是这样做的方法,因为尽管它的名称如此,但此事件不会在安装过程结束时触发,而是......在开始时!

我尝试了一个“技巧”,将 getInstalledRelatedApps() 池化以获取已安装应用程序的列表,认为我的 PWA 将在安装后出现在此列表中。像这样:

function checkForRelatedApps() 
{
    navigator.getInstalledRelatedApps().then(relatedApps => {
    console.log("Dans checkForRelatedApps");
    if (relatedApps.length != 0) 
    {
     for (let app of relatedApps)
         {
             console.log(app.platform);
             console.log(app.url);
             console.log(app.id);
        }
    }
    setTimeout(checkForRelatedApps,4000);
    });
}

但奇怪的是:即使 PWA 在主屏幕上正确运行,它也永远不会在 relatedApps 数组中显示元素数量保持为 0。 我看过一些关于使用 getInstalledRelatedApps() 的例子,但都是关于“真正的应用程序”而不是关于“安装的 PWA”...... 那么有没有办法检测安装结束(Android 显示一个 Toast),有没有办法使用 getInstalledRelatedApps 检测 PWA 的安装? (欢迎举例!)

谢谢大家

0 个答案:

没有答案