【问题标题】:beforeinstallprompt not fired until touch if site opened from link in sms message如果站点从短信中的链接打开,则在触摸之前不会触发 beforeinstallprompt
【发布时间】:2019-08-19 23:30:23
【问题描述】:

当在 Android 设备上的 Chrome 浏览器中输入地址时,我的 PWA 可以正常工作(目前在 Android 9 上使用 Chrome 76)。加载站点后,我会收到 beforeinstallprompt 事件并显示我的安装消息。但是,如果该站点是从 SMS 消息中的超链接打开的,那么在点击页面之前我不会收到该事件。这是期待吗?有人处理过这个问题吗?

【问题讨论】:

  • 我应该补充一点,在第一次触摸之后,事件总是会立即触发。重新加载,或关闭页面并再次从链接打开将导致事件在加载时触发。

标签: javascript android sms progressive-web-apps beforeinstallprompt


【解决方案1】:

here 所述,要求应用程序在beforeinstallprompt 触发之前“满足用户参与启发式”。由于用户来自外部链接,浏览器要求用户证明他们想要与他们登陆的应用程序互动;他们不只是点击一个链接并登陆那里。手动输入地址就足以表明参与度:他们是自愿来到现场的。

这就像从外部链接打开的 YouTube 视频在用户与之交互之前不会有声音一样。浏览器会阻止声音播放,除非用户表明他们想要它,因为未经请求的自动播放声音对用户来说是一种常见的烦恼。

【讨论】:

  • 我相信你是对的,但是文档现在说(previously, the user had to interact with the domain for at least 30 seconds, this is not a requirement anymore) 不是在任何地方都没有说明的外部链接的情况。
  • 30 秒的要求已取消,但仍有用户参与启发式。衡量标准不再根据时间来衡量。
  • 在我们的测试中还有一个时间元素。 10 秒,然后是一个触摸事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多