我有一个进步的web应用程序,我希望对它的清单文件进行更改,就像对它的start_url、范围、图标、名称和short_name的更改一样。我想知道,什么时候对进步的web应用程序的更新是在对其清单进行更改之后进行的?我尝试使用以下方法在Chrome浏览器上强制更新web应用程序:
Manifest
adb shell dumpsys jobscheduler | JOB.*91.*org.chromium.components.background_task_scheduler.BackgroundTaskJobService,输出不是空的
adb shell cmd jobscheduler run -f com.android.chrome 91强制更新H 220F 221但是,我想知道在对清单文件进行更改之后,更新web应用程序的真正标准是什么?请有人附加一个代码片段支持同样的,这可能是特定于Chrome如何实现它?
发布于 2020-02-26 07:17:23
我做了一个深入的研究,想知道更新web应用程序对清单文件的更改的标准是什么,并且我能够在具有更新逻辑的铬代码库中找到相关的源代码。根据最新的铬源代码更改https://chromium-review.googlesource.com/c/chromium/src/+/1635860,更新间隔设置为1天(99%的情况下,应用程序可能更新更频繁)和30天(1%的情况下,应用程序更新频率较低)。以前,它被设定为3天( 99%的病例)和30天( 1%的病例)。此外,Google https://developers.google.com/web/fundamentals/integration/webapks#update-webapk有一份官方文件,其中说:
Chrome将定期将本地安装的清单与从网络获取的清单副本进行比较。如果将PWA添加到主屏幕所需的清单中的任何属性在网络副本中发生了更改,Chrome将请求更新的WebAPK,反映这些新值。有许多规则控制如何触发这些更新检查:
Manifest URL不改变的情况下更新WebAPK。如果将网页从引用/manifest.json更改为引用/manifest2.json,则WebAPK将不再更新。(不要这样做,this!)
。
已经验证过了。
负责此更新的代码流如下所示:
每当
检查更新间隔由WebappDataStorage完成,其链接如下:
https://stackoverflow.com/questions/59676685
复制相似问题