【问题标题】:Firebase Dynamic links behaviour on iOS 8 vs. iOS 10iOS 8 与 iOS 10 上的 Firebase 动态链接行为
【发布时间】:2017-11-08 10:46:42
【问题描述】:

我在 App Store 上已有一个注册了自定义 URL 方案的应用。 我为新版本的应用程序实现了 Firebase 动态链接。 在测试新链接时,当我打开安装在 iOS 10 上的旧应用程序的 FDL 时,我会被重定向到 App Store 以更新应用程序。 当我使用安装在 iOS 8 上的旧应用程序打开 FDL 时,会打开旧应用程序,因为我的 URL 方案的 openUrl 被触发。我的应用程序因此崩溃,因为旧应用程序无法处理此类链接。 我希望在 iOS 8 上它也会将我重定向到 App Store 以更新应用程序,就像在 iOS 10 上一样。

即使将 imv=min_app_version(如 here 所述)作为 FDL 的一部分发送也无济于事。

为什么这种行为在 iOS 8 和 10 之间有所不同?有什么办法可以阻止这种情况在 iOS 8 上发生? 谢谢。

【问题讨论】:

    标签: ios firebase firebase-dynamic-links


    【解决方案1】:

    iOS 8 确实很好地支持自定义 URL 方案,iOS 8 也不支持通用链接。由于这些原因,Firebase 动态链接将使用自定义 URL 方案来检测您的应用在 iOS 8 上是否已安装/未安装(并打开应用)。

    iOS 9 及更高版本对自定义 URL 方案没有很好的支持,并且这些操作系统具有通用链接。 Firebase 动态链接将在那里使用通用链接。

    关于imv:我们确实提供了imv参数,但与Android相反,我们不知道安装的iOS App的版本。我们希望 App 能够处理 imv。例如,如果打开链接的 App 的情人版本号超过imv 中指定的版本号,则 App 应向用户显示消息并重定向到 AppStore 进行升级。

    解决这种情况的一种方法是创建新的自定义 URL 方案,该方案在您已发布的应用程序版本中不存在。这样,Firebase 动态链接将无法打开崩溃的旧应用。

    【讨论】:

    • “iOS 9 及更高版本对自定义 URL 方案没有很好的支持”,我认为这不对?
    • 在 iOS9 之前,可以检测 App 是否已安装(或未安装)并使用自定义 URL 方案打开 App。从 iOS9 自定义 URL 方案仍然有效,但如果您调用自定义方案,而 App 恰好没有安装,用户将停留在令人讨厌的错误屏幕上。尝试调用自定义 URL 方案时还会弹出一个窗口。这就是我所说的“没有很好的支持”。
    猜你喜欢
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2020-10-27
    • 1970-01-01
    相关资源
    最近更新 更多