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

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

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

最佳答案

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

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

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

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

关于ios - iOS 8与iOS 10上的Firebase动态链接行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47177670/

10-12 00:32
查看更多