A2HS停止触发任何PWA。是否有触发A2HS的实际规格?

时间:2018-05-27 09:34:13

标签: google-chrome progressive-web-apps

我一直在使用PWA(渐进式网络应用程序)很长一段时间但最近我想向另一个人展示A2HS弹出窗口(添加到主屏幕)功能,它不会触发我的手机上的任何PWA或他们的。

列出来自https://pwa.rocks甚至我自己的示例,在灯塔上拥有100%的PWA通过率,如果您使用应用程序控制台,弹出窗口会正常触发,但它不会有机地出现。

我还注册了事件" beforeinstallprompt"发送控制台日志但没有。

是否有提示何时可见的实际规格? 在阻止弹出发生的1-2个月的过程中发生了什么变化?

1 个答案:

答案 0 :(得分:3)

最近有一些规格变化。接下来,从chrome版本68开始,开发人员必须通过捕获beforeinstallprompt手动触发提示,如果需要,将其推迟,并在需要时调用prompt()方法。有关它的更多信息,请参阅official document,其中列出了更新后的要求:

  
      
  1. 尚未安装网络应用
  2.   
  3. 符合用户参与启发式(目前,用户与域名进行了互动至少30秒)
  4.   
  5. 符合Progressive Web App标准:
      (a)包括一个Web应用程序清单,其中包括:

         

    (i)short_name或name

         

    (ii)图标必须包含192px和512px大小的图标

         

    (iii)start_url

         

    (iv)显示必须是以下之一:全屏,独立或最小ui

         

    (b)通过HTTPS服务(服务人员需要)

         

    (c)已向服务工作者注册了一个获取事件处理程序

  6.   

此外,现在进入第二部分,为什么beforeinstallprompt没有被解雇而且没有发送控制台输出。原因可能是:

  1. "您只能在延迟事件上调用一次prompt(),如果用户将其解除,则您需要等到在下一页导航中触发beforeinstallprompt事件。"基本上这可能意味着如果你可能已经取消了事件或关闭了弹出窗口,它甚至可能不会再被触发。 AFAIK,这是一个很酷的时期,可以持续90天。
  2. "如果网络应用程序清单包含related_applications且“prefer_related_applications”为“true”,则会显示原生应用安装提示。"可以将prefer_related_application标志设置为true,并在提及related_applications标签时丢失。因此,可能不会出现任何安装提示。
  3. 确保您没有测试" A2HS"在桌面上流动(改为使用远程调试)。因为在给定的in this文章中," Chrome的桌面和移动设备的安装流程略有不同。尽管说明类似,但在移动设备上进行测试需要远程调试,如果没有它,它将使用桌面安装流程。"和#34;对于Mac或Windows,您需要启用#enable-desktop-pwas flag"。