【问题标题】:What is customURLScheme in Firebase Dynamic Links?Firebase 动态链接中的 customURLScheme 是什么?
【发布时间】:2017-09-30 16:21:25
【问题描述】:

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”。

谁能帮我理解这个方案到底是什么?

【问题讨论】:

    标签: ios xcode firebase firebase-dynamic-links


    【解决方案1】:

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

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

    默认情况下,Firebase 期望您使用包标识符作为自定义 URI 方案。当您这样做时,它们的默认配置将接管,您根本不需要指定 FIROptions.default().deepLinkURLScheme = self.customURLScheme 行。 URI 方案配置最终看起来像这样,这有点违反直觉:

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

    基本上,Firebase 团队试图通过将捆绑 ID 假定为自定义 URI 方案值来简化事情。这不是一个不好的选项,但它可能会造成混淆,正如您所看到的,即使他们自己的快速入门项目也使用了更高级的配置。

    【讨论】:

    • 这是我看到您回答的第二个 Firebase 问题,我觉得这既有趣又令人钦佩。您能否阐明屏幕截图中的Icon 设置,以及它最终出现在动态链接流中的什么位置?
    • @MattMc 知识无止境!感谢您的客气话。我实际上不知道这个图标是干什么用的——我从来没有真正想过它。 This answer 似乎暗示它与 macOS 有关
    • @AlexBauer 我们可以在从 Xcode 安装的构建中进行测试吗?或者我需要上传到 TestFlight 来测试这个?
    • @sulabh 你应该能够通过 Xcode 测试延迟链接行为就好了——安装构建,生成链接,删除应用程序,单击链接,然后按照它进入应用程序站点,但不要'T install,然后再次从 Xcode 安装构建并打开它。
    • 感谢您的回答@AlexBauer!在我从他们的自我诊断工具 (firebase.google.com/docs/dynamic-links/…) 中找到这个根本原因后帮助了我。
    猜你喜欢
    • 2010-09-23
    • 2015-08-26
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    相关资源
    最近更新 更多