【问题标题】:Firebase dynamic links for multiple iOS apps in project项目中多个 iOS 应用的 Firebase 动态链接
【发布时间】:2017-11-06 20:26:38
【问题描述】:

我有一个包含两个 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 应用上完全可用。

我在这里错过了什么吗?

【问题讨论】:

标签: ios firebase firebase-dynamic-links


【解决方案1】:

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

这是在一个项目中为多个 iOS 应用设置 Firebase 动态链接的最典型示例之一:https://photos.app.goo.gl/apple-app-site-association

如果 iOS 设备上未安装 app1,您仍然应该能够打开 app2。

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

我们确实收到了更多关于允许在 apple-app-site-association 文件中重新排序应用程序优先级的请求。例如,开发者有免费和付费的 App,所以他们实际上希望动态链接在这两个 App 中都可以工作。

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

如果您有更多问题,请告诉我,请随时打开 Firebase 支持票以分享私人信息。

【讨论】:

  • 这里有更新吗? 2018 年第一季度即将结束,所以我想知道这是否仍在雷达上 :) 谢谢
  • @xaphod 嗨,我离开了 Firebase 团队,所以没有参与路线图。我建议您打开 Firebase 支持票并描述您的用例。
  • 截至今天,我们处于 2020 年第一季度,有人知道是否有任何解决方案吗?
  • 2021 尚不支持 ;(
【解决方案2】:

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


多种解决方法

  1. 使用多个(子)域

  2. 使用自定义域

  3. 使用多个 Firebase 项目


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


如需更多信息,我已写信给an extensive answer here

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2021-06-16
    • 1970-01-01
    • 2018-04-09
    相关资源
    最近更新 更多