两个应用程序的通用链接打开同一个应用程序 Branch.io
Universal links of two app open ever the same app with Branch.io
我所有的应用程序都使用相同的自定义域,即 links.ci--e.es.
我的应用是:
- Co-ba -> Bundle id --> com.cit--e.co-ba
- Ca-as -> Bundle id --> com.cit--e.ca-as
- Gu-la -> Bundle id --> com.cit--e.gu-la
在每个应用中:
- 我已经在我的设备上安装了我的应用程序。
- 我已经正确设置了我所有的应用程序。实时和测试仪表板。也在 XCode.
- 我考虑facebook的代码。然后我将代码添加到我的应用程序中。
- 在 Validator 通用 links,个性化域中,捆绑 ID 和 return 为我添加前缀 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": [
"*",
"/"
]
}
]
}
}
对于我的每个应用程序,我都进行营销 link。示例:
应用名称 Co-ba
- http://link.ci--e.es/TzUm/CL1D25b4tt
应用名称 Ca-as
- http://link.ci--e.es/LKVl/wkb27JqVtt
应用名称咕啦
- http://link.ci--e.es/lySm/ygacY4N2tt
当我的设备上安装了一个应用程序时,这些 link 可以正常工作。当安装了多个应用程序时,链接无法正常工作。
links 我总是打开同一个应用程序,即使它们属于另一个应用程序。示例:
如果你安装了Co-ba和Gu-la。我在我的设备 Co-ba 上打开 link,然后 Co-ba 应用程序打开。我在我的设备 Gu-la 上打开 link,应用程序打开了 Co-ba。这是个错误。哪里是你的错?
感谢您的回复。
来自 Branch.io 的亚历克斯:
简短版
Branch 目前不支持同一域上的多个应用程序,因此会有一些不可避免的意外行为。我建议为每个应用使用不同的子域。
更长的解释
发生这种情况的原因是所有三个应用程序都注册为打开相同的通用链接 URL。 co-ba只是apple-app-site-association文件中的第一个,所以安装多个app时默认打开的是co-ba
如果您查看每个应用的 Branch link link,您会发现每个应用都有一个四字符的唯一 ID。
- Co-ba: TzUm
- Ca-as: LKVl
- 古拉: lySm
Branch 使用这个四字符 ID 来分隔每个应用程序的 link,以便仅打开正确的应用程序。您需要托管自己的 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/*"
]
}
]
}
使用此解决方案时,您必须记住,在 Branch 仪表板上创建的营销 link(以及您使用自定义别名创建的任何其他 link)将不起作用,因为它们可以没有四字符标识符。
我所有的应用程序都使用相同的自定义域,即 links.ci--e.es.
我的应用是:
- Co-ba -> Bundle id --> com.cit--e.co-ba
- Ca-as -> Bundle id --> com.cit--e.ca-as
- Gu-la -> Bundle id --> com.cit--e.gu-la
在每个应用中:
- 我已经在我的设备上安装了我的应用程序。
- 我已经正确设置了我所有的应用程序。实时和测试仪表板。也在 XCode.
- 我考虑facebook的代码。然后我将代码添加到我的应用程序中。
- 在 Validator 通用 links,个性化域中,捆绑 ID 和 return 为我添加前缀 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": [
"*",
"/"
]
}
]
}
}
对于我的每个应用程序,我都进行营销 link。示例:
应用名称 Co-ba - http://link.ci--e.es/TzUm/CL1D25b4tt
应用名称 Ca-as - http://link.ci--e.es/LKVl/wkb27JqVtt
应用名称咕啦 - http://link.ci--e.es/lySm/ygacY4N2tt
当我的设备上安装了一个应用程序时,这些 link 可以正常工作。当安装了多个应用程序时,链接无法正常工作。
links 我总是打开同一个应用程序,即使它们属于另一个应用程序。示例:
如果你安装了Co-ba和Gu-la。我在我的设备 Co-ba 上打开 link,然后 Co-ba 应用程序打开。我在我的设备 Gu-la 上打开 link,应用程序打开了 Co-ba。这是个错误。哪里是你的错?
感谢您的回复。
来自 Branch.io 的亚历克斯:
简短版
Branch 目前不支持同一域上的多个应用程序,因此会有一些不可避免的意外行为。我建议为每个应用使用不同的子域。
更长的解释
发生这种情况的原因是所有三个应用程序都注册为打开相同的通用链接 URL。 co-ba只是apple-app-site-association文件中的第一个,所以安装多个app时默认打开的是co-ba
如果您查看每个应用的 Branch link link,您会发现每个应用都有一个四字符的唯一 ID。
- Co-ba: TzUm
- Ca-as: LKVl
- 古拉: lySm
Branch 使用这个四字符 ID 来分隔每个应用程序的 link,以便仅打开正确的应用程序。您需要托管自己的 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/*"
]
}
]
}
使用此解决方案时,您必须记住,在 Branch 仪表板上创建的营销 link(以及您使用自定义别名创建的任何其他 link)将不起作用,因为它们可以没有四字符标识符。