首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进步的web应用程序什么时候更新对其清单文件的更改?

进步的web应用程序什么时候更新对其清单文件的更改?
EN

Stack Overflow用户
提问于 2020-01-10 06:46:32
回答 1查看 575关注 0票数 1

我有一个进步的web应用程序,我希望对它的清单文件进行更改,就像对它的start_url、范围、图标、名称和short_name的更改一样。我想知道,什么时候对进步的web应用程序的更新是在对其清单进行更改之后进行的?我尝试使用以下方法在Chrome浏览器上强制更新web应用程序:

Manifest

  • Advance
  • WebAPK
  • 关闭WebAPK
  • ,修改Web
  • Android的系统时间3天。在我的设备上:adb shell dumpsys jobscheduler | JOB.*91.*org.chromium.components.background_task_scheduler.BackgroundTaskJobService
  • Check & Time>Set date
  • WebAPK,等待几秒钟
  • 运行

,输出不是空的

  • 关闭WebAPK
  • Run adb shell cmd jobscheduler run -f com.android.chrome 91强制更新H 220F 221

但是,我想知道在对清单文件进行更改之后,更新web应用程序的真正标准是什么?请有人附加一个代码片段支持同样的,这可能是特定于Chrome如何实现它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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,反映这些新值。有许多规则控制如何触发这些更新检查:

  • 更新检查仅在启动WebAPK时进行。直接启动Chrome不会触发对给定WebAPK的更新检查,
  • Chrome每1天或每30天检查一次更新。大多数情况下,每天都要检查更新。如果更新服务器无法提供update.
  • Clearing Chrome的数据(通过安卓设置中的“清除所有数据”),则切换到30天的更新间隔,重新设置更新计时器。
  • Chrome只会在

Manifest URL不改变的情况下更新WebAPK。如果将网页从引用/manifest.json更改为引用/manifest2.json,则WebAPK将不再更新。(不要这样做,this!)

  • Chrome只在WebAPK没有运行时才会更新WebAPK。如果将Chrome的正式版本(稳定/Beta/Dev/Canary)创建的running.
  • Only WebAPK保持不变,将WebAPK移到后台是不够的。它不适用于铬(org.chromium.chrome).
  • The更新检查,可能会延迟到设备插入并具有WiFi连接。

已经验证过了。

负责此更新的代码流如下所示:

每当

检查更新间隔由WebappDataStorage完成,其链接如下:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59676685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档