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将不再更新。(不要这样做!)”通常粘贴答案而不是链接,因为链接可能会断开