我将start_url
设置为/ mysite,我将清单更新为start_url
设置为/ mysite?tracking = ga,以便可以从应用程序查看安装。
无论如何,对于我的一生,我都无法弄清楚如何强制下载新应用程序,但该应用程序仍指向旧的start_url
。我知道如何更新服务工作者,从而更新缓存API或任何其他缓存,但是没有可靠的方法来强制刷新manifest.json
,从而强制重新下载apk。即使当我删除apk并通过“添加到主屏幕”下载新应用时,它也指向旧的`start_url。我的理解是,每个清单都需要一个新的APK。
*更新:是否进行了多次测试以更新清单theme_color,并且查看更改的唯一方法是卸载应用程序并完全清除Chrome缓存和数据,然后通过“添加到主屏幕”提示重新安装。
答案 0 :(得分:3)
答案 1 :(得分:1)
更改<link rel="manifest" href="manifest.json">
收件人:<link rel="manifest" href="manifest.json?v=2">
在您网站页面的头文件中。
这将替换新清单文件的缓存。
答案 2 :(得分:0)
我已经进行了一些测试,其中包括(1)卸载当前的PWA,(2)清除浏览器数据和缓存,以及(3)重新安装似乎已强制刷新的PWA。但是,当然,这只是出于测试目的-我想您将无法指导所有应用程序用户使用相同的软件。
除了通过文档链接提供的答案外,我还要强调一下
在Chrome 75及更低版本中,WebAPK更新在3 day intervals上进行。在Chrome 76(2019年7月)及更高版本上,更新间隔缩短为1 day。计时器到期后,应用程序将检查manifest
是否需要更新-该操作将在应用程序启动时进行。
以下是更新原因:>
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;
}
答案 3 :(得分:-1)
清除Android浏览器缓存有助于解决我的情况。清除应用程序缓存还不够。