如何检测我的网站是否在 Trusted Web Activity 中打开?

How can I detect if my website is opened inside a Trusted Web Actvity?

我在 Trusted Web Activity 中打开我的页面,我想检测它何时在其中打开以自定义行为和用于分析目的。我怎样才能检测到该页面是从 TWA 打开的?

有三个选项可帮助检测页面是否从受信任的 Web 中打开 Activity:

  1. 打开页面时,Referral 将为 android-app://<twa.package.name>,其中 twa.package.name 是在 Trusted Web Activity 的 Android 端使用的软件包名称。在 JavaScript 中,检查用户是否在受信任的 Web Activity:
document.referrer.includes('android-app://<twa.package.name>')
  1. 添加一个 URL 参数。将查询字符串附加到随 PWA 启动的 URL 的末尾。 Passing Information into a Trusted Web Activity using Query Parameters 文章中有更多信息。

  2. 请求Headers:您现在可以在针对应用程序验证来源时设置自定义请求headers。 This article explains how do do it。不过,并非所有浏览器都支持此方法。

正如 andreban 所说,我使用了:

document.referrer.includes('android-app://')

如果来自 TWA,returns 为真。