我正在开发一个PWA(渐进式网络应用程序),我希望能够跟踪某人是否只是将其视为一个网站,或者是否已安装它并将其视为应用程序.
有没有办法做到这一点?我想不出任何方法,因为它们都使用相同的文件(使用manifest.json和manifest.json都指向同一个index.html).
Windows 10提供了从其应用商店安装PWA的功能.此时,您可以收集一些分析.不幸的是,这将是一个有限的安装基础(与从浏览器安装它相比).
可以理解的是,在用户访问支持的浏览器中的Web应用程序(我现在认为是Chrome)并点击"添加到主屏幕"后,渐进式网络应用程序(PWA)将添加到主屏幕.这适用于公共可用的PWA.
想想企业安卓应用程序,需要通过一些应用程序推送工具(如Airwatch)安装到数千台设备上,实际上不可能让某人打开浏览器,放入URL然后在所有数千台设备中添加到主屏幕.
有没有其他方法可以将此部署/添加图标自动化到Progressive Web应用程序的主屏幕,而不需要用户在浏览器中访问Web应用程序并单击"添加到主屏幕"?
我们想到的一个选择是包装在科尔多瓦.但试图找到没有这种包装的解决方案.
google-chrome progressive-enhancement google-chrome-app progressive-web-apps trusted-web-activity
对于显示经常变化的数据(例如银行帐户余额)的应用程序来说,渐进式 Web 应用程序离线功能是一个好主意吗?
如果用户正在使用他的 PWA 离线模式并导航到例如银行产品余额部分,他实际上没有查看有关其余额的更新数据,并允许基于可能未更新的数据进行操作。
我是否错过了这种针对经常变化的数据的方法 (PWA) 的某些内容?
与这个问题类似,IndexedDB 是否保证是持久的?IE。如果设备内存不足,Safari 将不会回收磁盘空间。
PWA 支持自定义 url 方案吗?
我们将开发 PWA。此 PWA 在 iPad 上调用具有自定义 url 方案的本机应用程序。PWA 调用的本机应用程序将在处理完成后回调到 PWA。但我不知道如何从本机应用程序回调 PWA。
您能给我们您的建议吗?
我正在尝试在我的应用中使用Service worker。
我已经添加了@angular/pwa,注册了服务人员:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/ngsw-worker.js', {
scope: '/'
}).then((registration) => {
console.log("Service worker OK!")
});
}
Run Code Online (Sandbox Code Playgroud)
当我在本地运行Google Lighthouse时,一切正常,并且网站以在线模式运行,但是当我将应用程序上载到服务器时,我发现Lighthouse中的错误:
No manifest was fetched.
Run Code Online (Sandbox Code Playgroud)
我使用错误的路径吗?
manifest.json:
"start_url": "/index.html",
Run Code Online (Sandbox Code Playgroud)