Android 强制刷新manifest.json以下载新的PWA
我将Android 强制刷新manifest.json以下载新的PWA,android,manifest,progressive-web-apps,Android,Manifest,Progressive Web Apps,我将start\u url设置为/mysite我更新了清单,将start\u url设置为/mysite?tracking=ga,以便我可以从应用程序查看安装情况 无论如何,对于我来说,我不知道如何强制下载新的应用程序,该应用程序仍然指向旧的start\u url。我知道如何更新服务工作者,从而缓存API或任何其他缓存,但没有可靠的方法强制刷新manifest.json,从而强制新下载apk。即使当我删除apk并通过“添加到主屏幕”下载新应用程序时,它也指向旧的“开始”url。我的理解是每个舱单
start\u url
设置为/mysite我更新了清单,将start\u url
设置为/mysite?tracking=ga,以便我可以从应用程序查看安装情况
无论如何,对于我来说,我不知道如何强制下载新的应用程序,该应用程序仍然指向旧的start\u url
。我知道如何更新服务工作者,从而缓存API或任何其他缓存,但没有可靠的方法强制刷新manifest.json
,从而强制新下载apk。即使当我删除apk并通过“添加到主屏幕”下载新应用程序时,它也指向旧的“开始”url。我的理解是每个舱单都需要一个新的apk
*更新:我做了多项测试,更新了清单主题颜色,查看更改的唯一方法是卸载应用程序并完全清除Chrome缓存和数据,然后通过“添加到主屏幕”提示重新安装 更改
收件人:
在站点页面的标题文档中
这将替换新清单文件的缓存。此文件上实际上有一个文档链接。我做了一些测试,涉及(1)卸载当前PWA,(2)清除浏览器数据和缓存,以及(3)重新安装PWA,这似乎强制刷新。然而,这当然只是为了测试目的——我想你不可能让所有的应用程序用户都使用相同的方法 除了通过文档链接给出的答案外,我还想在 Chrome75及更早版本的WebAPK更新发生在。在Chrome 76(2019年7月)及更高版本上,更新间隔缩短为。当计时器过期时,应用程序将检查清单是否需要更新,这将在应用程序启动时完成。
以下是更新的原因:
enum UpdateReason {
NONE = 1;
OLD_SHELL_APK = 2;
PRIMARY_ICON_HASH_DIFFERS = 3;
SCOPE_DIFFERS = 5;
START_URL_DIFFERS = 6; // OP's scenario
SHORT_NAME_DIFFERS = 7;
NAME_DIFFERS = 8;
BACKGROUND_COLOR_DIFFERS = 9;
THEME_COLOR_DIFFERS = 10;
ORIENTATION_DIFFERS = 11;
DISPLAY_MODE_DIFFERS = 12;
WEB_SHARE_TARGET_DIFFERS = 13;
MANUALLY_TRIGGERED = 14;
PRIMARY_ICON_MASKABLE_DIFFERS = 15;
SHORTCUTS_DIFFER = 16;
SPLASH_ICON_HASH_DIFFERS = 17;
reserved 4;
}
您不应该更改清单的url/名称,请参阅接受答案中的链接:“如果Web清单url没有更改,Chrome将只更新WebAPK。如果您将网页从reference/manifest.json更改为reference/manifest2.json,WebAPK将不再更新。(不要这样做!)”通常粘贴答案而不是链接,因为链接可能会断开