【发布时间】:2020-09-26 16:50:34
【问题描述】:
我在受信任的 Web 活动中打开我的页面,我想检测它何时在其中打开以自定义行为并用于分析目的。如何检测到页面正在从 TWA 打开?
【问题讨论】:
我在受信任的 Web 活动中打开我的页面,我想检测它何时在其中打开以自定义行为并用于分析目的。如何检测到页面正在从 TWA 打开?
【问题讨论】:
有三个选项可以帮助检测页面是否从受信任的 Web 活动中打开:
android-app://<twa.package.name>,其中 twa.package.name 是受信任的 Web 活动的 Android 端使用的包名称。在 JavaScript 中,检查用户是否在受信任的 Web 活动中:document.referrer.includes('android-app://<twa.package.name>')
添加 URL 参数。将查询字符串附加到使用 PWA 启动的 URL 的末尾。 Passing Information into a Trusted Web Activity using Query Parameters 文章中有更多信息。
请求标头:您现在可以在针对应用验证来源时设置自定义请求标头。 This article explains how do do it。不过,并非所有浏览器都支持这种方法。
【讨论】:
正如 andreban 所说,我使用过:
document.referrer.includes('android-app://')
如果来自 TWA,则返回 true。
【讨论】:
android-app:// 是不够的,它会给你错误的结果。您应该将包名称作为检查的一部分,否则任何在常规浏览器中打开您的页面的 android 应用程序或自定义选项卡将被识别为来自受信任的 Web 活动。