我的公司 VPN 阻止来自 Android 设备的所有外部流量。我正在尝试测试内部托管的 PWA(防火墙内的所有资源)。我观察到,尽管通过了 Lighthouse 审核,但我的 PWA 在设备上的 WebAPK 创建过程中失败了。具体来说,安装过程需要很长时间,最终会降级为应用程序快捷方式安装。
我做了什么:
- 构建了我能想到的最简单的 PWA(index.html 注册服务工作者 + sw.js 甚至可以离线处理 index.html 请求 + Web 清单)并将其托管在内部服务器上
- 在桌面上运行 Lighthouse 审核并确保其通过所有 PWA Lighthouse 审核
- 在清单上运行 bubblewrap init 来仔细检查图标/名称是否正确
- 尝试通过防火墙后面的 Chrome 点点菜单在 Pixel 手机上安装 PWA
- 过了很长一段时间,应用程序快捷方式安装完毕(带有Chrome覆盖图标)
- 在我的手机上检查了 chrome://webapks/ - 没有惊喜,我没有找到适合我的应用程序的 WebAPK
- 打开我的公司 VPN 解决方法,它允许我绕过 VPN 限制并访问外部地址(root 电话 + ProxyDroid 黑客攻击)
- 现在 WebAPK 创建工作正常了
问题一:
有人可以解释一下 WebAPK 创建过程中涉及到哪些内容会导致它在严格的公司防火墙后面失败吗?这里是否涉及任何外部资源(也许是服务?),我可以将我的公司 VPN 列入白名单?如果没有,任何有关如何自动测试 WebAPK 创建的建议将不胜感激。我想过使用 bubblewrap 构建,但是,由于它是针对 TWA 的,所以我没想到它会通过我的简单 PWA。
问题2:
一般来说,诊断通过 Lighthouse 审核的 PWA 的 WebAPK 创建失败的最佳技术是什么?
WebAPK 由 Chrome 在服务器端生成。 Chrome 将清单中的详细信息以及图标发送到其服务器,然后服务器返回 WebAPK。正如您所指出的,您的公司防火墙很可能阻止了对服务器的请求,从而阻止 Chrome 生成 WebAPK。
Chrome中生成WebAPK的代码可以找到here https://chromium.googlesource.com/chromium/src/+/master/chrome/android/webapk/
对于你的第二个问题,我们确实没有好的调试工具,如果 Lighthouse 通过,它应该构建 WebAPK(除了上面提到的例外)。我怀疑您可以将设备连接到计算机并使用 ADB 查看日志,但这......丑陋。对不起。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)