如何支持相同应用程序但不同环境的通用链接?

How to support universal links for same app but different environments?

我正在开发一个具有多个环境(开发、QA 和生产)的 iOS 应用程序,出于测试目的,我需要在其中 3 个环境中支持通用 linking。这意味着当用户从 iPhone 中点击 www.mywebsite.com 时,它应该打开已安装的应用程序(3 个应用程序之一)。

如何在 AASA 文件中实现此目的?

有没有办法安装这 3 个应用程序并且 link 只会打开正确的应用程序?

起初我尝试在 DEV 和 QA 网站上托管 AASA 文件,因此 qa.mywebsite.com 将打开 QA 应用程序,对于 DEV 也是如此。但是这两个网站都需要密码才能访问,所以没用。

我找到了支持 3 种环境的解决方法,但一次只能安装一个应用程序。当点击通用 link 时,它将打开已安装的应用程序。

基本上将 3 个 envs bundle ID 添加为不同的应用程序,如下所示:

{
 "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "ABC.com.app.prod",
        "paths": [
          "*"
        ]
      },
      {
        "appID": "ABC.com.app.qa",
        "paths": [
          "*"
        ]
      },
      {
        "appID": "ABC.com.app.dev",
        "paths": [
          "*"
        ]
      }
    ]
  }
}