Firebase动态链接中的customURLScheme是什么?

时间:2017-05-03 01:52:10

标签: ios xcode firebase firebase-dynamic-links

documentation中,它会将以下行添加到我的AppDelegate.swift

  // Set deepLinkURLScheme to the custom URL scheme you defined in your
  // Xcode project.
  FIROptions.default().deepLinkURLScheme = self.customURLScheme

根据我的理解,这应该是您在info.plist中添加的相同链接。但是,我很困惑为什么在quickstart-ios repo他们决定将其等同于“dlscheme”。

有人可以帮我理解这个方案到底是什么吗?

1 个答案:

答案 0 :(得分:13)

动态链接集成说明中并不清楚 - 我遇到了同样的问题,即使我整天都在Branch.io处理这些事情(完全披露:我们是另类/改进动态链接)。

配置自定义URI方案时,您需要同时提供标识符 URL方案。 Apple建议对标识符使用反向域值,但由于您的包ID通常也是反向域格式,因此这两者通常最终完全相同。

默认情况下,Firebase希望您将捆绑包标识符用作自定义URI方案。执行此操作时,其默认配置将接管,您根本不需要指定FIROptions.default().deepLinkURLScheme = self.customURLScheme行。 URI方案配置最终看起来像这样,这有点违反直觉:

enter image description here

但是,如果您决定使用的值作为URL方案的包ID(非常常见),那么您需要FIROptions.default().deepLinkURLScheme = self.customURLScheme行。但是你需要这个:let customURLScheme = "somethingelse"。您可以在快速入门中看到此here,也可以在info.plist文件here中定义URI方案。

基本上,Firebase团队试图通过假设捆绑ID作为自定义URI方案值来简化操作。这不是错误选项,但它可能令人困惑,正如您所看到的,即使他们自己的quickstart项目使用更高级的配置。