【问题标题】:Linking a progressive web app to a beacon to trigger a event将渐进式 Web 应用程序链接到信标以触发事件
【发布时间】:2017-06-10 11:42:54
【问题描述】:

我正在尝试制作一个渐进式网络应用程序,我将在其中使用信标传输 eddystone URL。一旦手机捕捉到 Eddystone URL 并单击通知(使用物理网络),它将打开 Progressive Web 应用程序。 我的问题是,有没有办法将网络应用程序与信标集成,这样当手机进入某个信标的范围内时,它会触发特定于该信标的事件。例如:如果我去公园并且长凳上有一个信标,PWA 应该知道那个长凳上的信标,因此应该触发相应的动作。 谢谢你。

【问题讨论】:

    标签: web-services ibeacon progressive-web-apps eddystone eddystone-url


    【解决方案1】:

    只需使用与安装位置匹配的唯一 url 后缀配置每个信标。如果您的网络应用位于:

    http://mywebapp.com/path

    那么为公园长椅上的信标配置的 URL 可能是:

    http://mywebapp.com/path?beacon_id=park_bench

    您可能需要使用 URL 缩短服务来使此类 URL 足够小以用于 Eddystone-URL。

    您还需要构建您的网络应用程序以检测启动它的 URL 后缀并采取适当的措施。

    【讨论】:

    • 考虑一家餐厅,如果已经使用物理网络打开的 PWA 需要根据附在餐桌传输信号上的信标来识别餐桌怎么办。我找到了 requestdevice 和 requestLEScan,但它们有助于配对不显示通知/内容/触发事件
    • 在此处走得太远之前,请小心探索 Eddystone-URL 与 Web 应用程序的局限性。没有可以在移动设备上的 Web 浏览器容器内运行的蓝牙 LE 设备扫描 API。自 2017 年 6 月起,您必须拥有原生 Android 应用程序才能执行此操作。较新版本的 Android 版 Chrome 和 Google Play 服务(附近)可以在检测到 Eddystone-URL 信标时发送通知,点击它们将启动基于浏览器的 Web 应用程序。这就是我在回答中描述的解决方案类型。
    【解决方案2】:

    Eddystone-URL 信标只能传输 URL。只有当用户向下滑动通知栏时,移动设备才会检测到这些信号。当用户点击它时,这是他们被带到网站的唯一时间(注意关键字:taken)。除非您创建一个后端服务,通过服务工作者将站点和移动设备连接起来,否则移动设备和信标之间没有连接。

    PWA 不是一个应用程序,它仍然是一个利用现代网络技术的网站(如果 浏览器 支持)。通知是被动通知的意思,用户只有在需要时才会注意到它。当您靠近它时,它不会振动也不会发出声音,除非您为此构建应用程序。 这就是他们提出这种方法的原因,因为应用通知已经是侵入性的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多