两个应用程序的通用链接与Branch.io

时间:2016-05-22 11:13:07

标签: ios objective-c branch.io ios-universal-links

我的所有应用程序都使用相同的自定义域,即links.ci--e.es。

我的应用是:

Co-ba - >捆绑ID - > com.cit - e.co-BA

Ca-as - >捆绑ID - > com.cit - e.ca-作为

古拉 - >捆绑ID - > com.cit - e.gu-LA

在每个应用中:

  • 我已在我的设备上安装了我的应用程序。
  • 我已正确设置了所有应用程序。实时和测试仪表板。也在XCode。
  • 我考虑了facebook的代码。我将代码添加到了我的应用程序中。
  • 在Validator通用链接,个性化域名,捆绑ID和返回预设我这个json。一切都是正确的。

Validator Universal Links Validator Universal Links

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "ZXXXXXXXX4.com.ci--e.co-ba",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.gu-la",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.ca-as",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.test",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.co-ba",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.gu-la",
            "paths": [
                "*",
                "/"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.test",
            "paths": [
                "*",
                "/"
            ]
        }
    ]
}

}

对于我的每个应用程序,我都会制作营销链接。例如:

App name Co-ba   - htttp://link.ci--e.es/TzUm/CL1D25b4tt

应用名称Ca-as - htttp://link.ci--e.es/LKVl/wkb27JqVtt

应用程序名称Gu-la - htttp://link.ci--e.es/lySm/ygacY4N2tt

当我的设备上安装了单个应用程序时,这些链接可以正常工作。安装有多个应用程序时,链接无法正常工作。

链接我总是打开相同的应用程序,即使它们属于另一个应用程序。例如:

如果你已经安装了Co-ba和Gu-la。我打开设备Co-ba上的链接,打开Co-ba应用程序。我在我的设备Gu-la上打开了一个链接,该应用程序打开了Co-ba。这是个错误。你可能在哪里?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

来自Branch.io的Alex:

短版

Branch目前不支持同一域上的多个应用,因此会出现一些不可避免的意外行为。我建议为每个应用使用不同的子域名。

更长的解释

发生这种情况的原因是因为所有三个应用都已注册以打开相同的通用链接网址。 Co-ba只是apple-app-site-association文件中的第一个,因此在安装多个应用程序时默认打开它。

如果您查看每个应用的分支链接链接,您会看到每个应用中都有一个四个字符的唯一ID。

  • Co-ba :TzUm
  • Ca-as :LKVl
  • 古拉:lySm

这四个字符ID是Branch用于分隔每个应用的链接的内容,因此只会打开正确的应用。您将需要托管自己的apple-app-site-association文件并将其更新为这样(也可以删除重复的条目):

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "ZXXXXXXXX4.com.ci--e.co-ba",
            "paths": [
              "/TzUm/*",
              "/a/Branch-key-for-co-ba/*"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.gu-la",
            "paths": [
              "/lySm/*"
              "/a/Branch-key-for-gu-la/*"
            ]
        },
        {
            "appID": "ZXXXXXXXX4.com.ci--e.ca-as",
            "paths": [
              "/LKVl/*"
              "/a/Branch-key-for-ca-as/*"
            ]
        }
    ]
}

使用此解决方案,您必须记住,在分支仪表板(以及使用自定义别名创建的任何其他链接)上创建的营销链接将不起作用,因为它们没有四个字符标识符。