related_applications

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

related_applications 清单成员用于指定与您的 Web 应用相关的一个或多个应用。这些可以是特定于平台的应用或渐进式 Web 应用 (PWA)。

这使您能够使用 Web API,例如 Navigator.getInstalledRelatedApps(),来检查您的 Web 应用的特定平台版本或 Web 应用本身是否已安装在设备上。

related_applications 清单成员还可以与 prefer_related_applications 清单成员一起使用,后者指示优先安装相关的原生应用或您的 Web 应用。

语法

json
/* Related native application on one platform specified by both url and id */
"related_applications": [
  {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=com.example.app1",
    "id": "com.example.app1"
  }
]

/* Related native application on one platform specified only by id */
"related_applications": [
  {
    "platform": "windows",
    "id": "example.app1"
  }
]

/* Related native applications on two platforms */
"related_applications": [
  {
    "platform": "play",
    "url": "https://play.google.com/store/apps/details?id=com.example.app1",
    "id": "com.example.app1"
  },
  {
    "platform": "amazon",
    "url": "https://www.amazon.com/product/dp/B000XA1000"
  }
]

/* Related web application specified by id */
"related_applications": [
  {
    "platform": "webapp",
    "id": "com.example.app1"
  }
]

一个对象数组,每个对象代表一个与 Web 应用相关的、特定于平台的应用。每个对象必须包含一个 platform 属性和一个 urlid(或两者都包含)。

platform

一个字符串,用于标识应用所在的平台。示例包括 amazon (Amazon App Store)、play (Google Play Store)、windows (Windows Store) 和 webapp (适用于渐进式 Web 应用)。有关可能的 平台值 的完整列表,请参阅。

url 可选

一个字符串,表示可以在其中找到特定平台应用的位置 URL。如果未指定,则必须提供 id

id 可选

一个字符串,包含用于在指定平台上表示该应用的 ID。如果未指定,则必须提供 url

描述

“相关应用”是指 Web 应用本身(在安装为渐进式 Web 应用 (PWA) 时),或提供与您的 Web 应用类似功能的 原生 应用,后者通常具有更多功能或与用户设备的更好集成。

related_applications 清单成员可让您识别与您的 Web 应用相关的特定平台应用。例如,假设您有一个产品对应的原生 Android 应用,可通过 Google Play 商店获取。它提供了与您的 Web 应用相同核心功能,并能更好地集成设备通知系统。您可以使用 related_applications 在您的 Web 应用的清单文件中指定此原生 Android 应用。

关于 related_applications 成员的一些要点包括:

  • 它允许您在不同平台上指定多个相关应用,为用户提供各种设备和操作系统上的原生应用选项。

  • 它在您的 Web 应用和指定平台之间创建了单向关系。原生应用无需反向引用您的 Web 应用。

  • Web 爬虫可能会使用这些数据来收集有关与您的 Web 应用相关的原生应用的更多信息,从而可能提高这些应用的可见性。

  • 当与 prefer_related_applications 成员一起使用并设置为 true 时,它允许浏览器建议安装相关原生应用,而不是您的 Web 应用。

    注意: 对于基于 Chromium 的浏览器,应将 prefer_related_applications 设置为 false 或省略,以使您的 Web 应用可安装。

示例

此示例展示了如何在您的 Web 应用清单文件中指定相关的原生 Android 应用。它使用了最少的信息来识别在 Google Play 商店中可用的原生应用。

json
{
  "related_applications": [
    {
      "platform": "play",
      "id": "com.example.app1"
    }
  ]
}

如果您的 Web 应用在 Google Play 商店和 Windows 商店上都有原生版本,您可以在 Web 应用的清单文件中这样指定它们:

json
{
  "related_applications": [
    {
      "platform": "play",
      "url": "https://play.google.com/store/apps/details?id=com.example.app1",
      "id": "com.example.app1"
    },
    {
      "platform": "windows",
      "url": "https://apps.microsoft.com/store/detail/example-app1/9WZDNCRFHVJL"
    }
  ]
}

如果您希望向浏览器表明您希望用户可以选择安装您的原生应用(可在 Google App Store 上获得),而不是您的 Web 应用,则可以将 prefer_related_applications 设置为 true。浏览器随后可能会提示用户安装原生 Android 应用,而不是您的 Web 应用。

json
{
  "prefer_related_applications": true,
  "related_applications": [
    {
      "platform": "play",
      "id": "com.example.app1"
    }
  ]
}

如果您的 Web 应用可以安装为设备上的渐进式 Web 应用 (PWA),例如,为了利用将 PWA 集成到操作系统中的功能,您可以在清单文件中自我引用您的 Web 应用。

json
{
  "related_applications": [
    {
      "platform": "webapp",
      "id": "com.example.app1"
    }
  ]
}

规范

规范
清单孵化
# related_applications 成员

浏览器兼容性

另见