项目中多个iOS应用的Firebase动态链接

时间:2017-11-06 20:26:38

标签: ios firebase firebase-dynamic-links

我有一个包含两个iOS应用和两个Android应用的firebase项目。 这些应用程序需要共享数据库和用户,因此这种设计看起来很自然。

关于动态链接,Android工作得很轻松,但我正在努力使用iOS部分。

基本动态链接设置很简单,困难(不可能?)部分是基于bundleID制作路由到正确应用的动态链接。

Firebase自动生成 apple-app-site-association 文件,但所有应用的路径组件始终相同:[“/ *”]

{"applinks":
     {"apps":[],
      "details":[
          {"appID":"XXXXX.com.test.app1","paths":["/*"]}, 
          {"appID":"XXXXX.com.test.app2","paths":["/*"]}]
     }
}

因此,第一个应用 app1 始终匹配,所有深层链接都指向此应用。

此时,我无法打开 app2 的动态链接。

此配置的文档是不可用的,即使这在Android应用程序上完全正常运行。

我在这里遗漏了什么吗?

2 个答案:

答案 0 :(得分:2)

Firebase动态链接对同一项目中的多个iOS应用程序的支持有限。我们计划改善这种支持,但在日期上没有ETA,可能是2018年第一季度。

以下是一个项目中几个iOS App的Firebase动态链接设置的最典型示例之一:https://photos.app.goo.gl/apple-app-site-association

如果iOS设备上未安装app1,您仍然可以打开app2。

我相信您可以通过删除app1并将app1重新添加到项目中来更改apple-app-site-association中应用的顺序。

我们收到更多关于允许在apple-app-site-association文件中重新订购App优先级的请求。例如,开发人员拥有免费且付费的应用程序,因此他们实际上希望动态链接在两个应用程序中都能正常工作。

作为一种解决方法,如果在不需要时打开app1,您可以使用customURL方案重新打开正确的app2。这不是最好的用户体验。

如果您有更多问题,请与我们联系,随时打开Firebase支持服务单以分享隐私信息。

答案 1 :(得分:1)

Oleksiy Ivanov has already pointed out一样,这可以归结为以下问题:Firebase动态链接不支持对同一Firebase项目中包含的多个iOS应用程序/目标使用相同的URL前缀。


尽管有多种解决方法

  1. 使用多个(子)域

  2. 使用自定义域

  3. 使用多个Firebase项目


在Android上它是开箱即用的,因为 you 负责将清单文件中特定应用的路径进行匹配。在iOS上,此操作不起作用,因为 Firebase 负责托管的apple-app-site-association文件中的此类匹配(如您在问题中已经指出的那样)。


有关更多信息,我写了an extensive answer here