未在设备中安装应用程序时如何解决iOS中的深层链接?

时间:2019-06-10 14:17:05

标签: android ios codeigniter deep-linking

我正在使用适用于android和iOS的深层链接功能,我的后端是CI。安装该应用程序后,深层链接对Android和iOS均有效。但是,如果尚未安装该应用程序,那么我会遇到问题。

我已经尝试过这种方式: 当任何用户单击链接时,它首先将重定向到浏览器,然后从后端代码中检查客户端设备类型。如果设备是Android,则将其重定向到Android应用程序;如果设备是iOS,则将其重定向到iOS应用程序。 但是当尚未安装该应用程序时,它将停止工作。

对于Android,我输入了以下代码:

header("Location: my.special.scheme://other/parameters/here")

对于iOS,已在URL之前添加了应用方案。

我想我已经描述了我所有的情况。请指导我如何在未安装应用程序的情况下将其重定向到应用程序商店或特定页面。

1 个答案:

答案 0 :(得分:1)

基本上发生的是,您尝试使用上面提供的URI方案(my.special.scheme://other/parameters/here)进行深层链接,但由于未安装该应用程序,因此失败。在这种情况下,您将无法捕获故障并将用户重定向到其他地方。

您可以将BE设置为返回类似于以下内容的内容:

window.location.href = "my.special.scheme://other/parameters/here";
setTimeout(function () {
    window.location.href = ...store_link_for_your_app..;
}, 1000);

这样,如果深层链接失败,则在1秒后您将获得重定向。

重要说明: