ios - iOS 通用应用程序链接是否可以支持使用同一域的多个应用程序?

标签 ios applinks deeplink

背景:

  1. 为多个客户构建普通应用。 具有不同 bundle id 的相同代码库,即:

    com.company.client1

    com.company.client2

  2. 想要使用相同的通用应用程序链接支持所有客户端构建,即:

    company.com/app/path

  3. 试图将此添加到“apple-app-site-association”文件

“apple-app-site-association”文件:

{"applinks": {"apps": [],"details": [
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client1"},
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client2"}]}

这是苹果的限制吗?

最佳答案

这是可能的。 Apple 对同一域中多个应用程序的通用链接没有限制。

看来您的 apple-app-site-association 格式不正确。你需要它看起来像这样:

{
  "applinks": {
    "apps": [ ],
    "details": [
      {
        "appID": "XXXXXXXXXX.com.company.client1",
        "paths": [
          "/app/*"
        ]
      },
      {
        "appID": "XXXXXXXXXX.com.company.client2",
        "paths": [
          "/app/*"
        ]
      }
    ]
  }
}

注意 appIDpaths 键的顺序,以及最后结束的

如果安装了多个应用程序,您也会遇到此设置的问题,因为它们都在注册相同的路径。您可能需要考虑为每个 ID 添加一个唯一 ID,例如 /app/client1/*

另一个重要的注意事项是 Universal Links don't work in many situations所以这不是一个完整的深度链接解决方案(尽管 Apple 一厢情愿地声称相反)。如果您想要一种更简单的深度链接方法来轻松处理这样的多应用程序需求,请查看 Branch.io (完全披露:我在 Branch 团队)。

关于ios - iOS 通用应用程序链接是否可以支持使用同一域的多个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40790747/

相关文章:

objective-c - iOS - 第一个应用程序问题

ios - Entitlements.entitlements 有什么作用?

android - 从 Deeplink 启动 Activity 时清除任务和新任务标志

iphone - 验证收据 Autorenewable 订阅

ios - 你如何在 ios 中使用带有 facebook 共享按钮的应用程序链接来进行深度链接?

facebook - iOS Facebook 应用程序链接不起作用

ios - Facebook 分享图片和 Applinks

android - Linking.getInitialURL() 在用于深度链接后未被清除

objective-c - XCode - 显示/删除 NSDocumentDirectory 中的文件