Android 当设备中没有安装应用程序时,如何修复iOS中的深度链接?
我正在使用android和iOS的深度链接功能,我的后端是CI。安装应用程序时,深度链接对Android和iOS都有效。但是如果应用程序还没有安装,那么我就面临这个问题 我试过这样做: 当任何用户单击链接时,首先它将重定向到浏览器,然后从后端代码检查客户端设备类型。如果设备是Android,则我将其重定向到Android应用程序,如果设备是iOS,则重定向到iOS应用程序。 但当应用程序尚未安装时,它就会停止工作 对于Android,我已经输入了以下代码:Android 当设备中没有安装应用程序时,如何修复iOS中的深度链接?,android,ios,codeigniter,deep-linking,Android,Ios,Codeigniter,Deep Linking,我正在使用android和iOS的深度链接功能,我的后端是CI。安装应用程序时,深度链接对Android和iOS都有效。但是如果应用程序还没有安装,那么我就面临这个问题 我试过这样做: 当任何用户单击链接时,首先它将重定向到浏览器,然后从后端代码检查客户端设备类型。如果设备是Android,则我将其重定向到Android应用程序,如果设备是iOS,则重定向到iOS应用程序。 但当应用程序尚未安装时,它就会停止工作 对于Android,我已经输入了以下代码: header("Location: m
header("Location: my.special.scheme://other/parameters/here")
对于iOS,在URL之前添加了应用程序方案
我想我已经描述了我所有的场景。请指导我在未安装应用程序时如何将其重定向到app store或特定页面。基本上,您尝试使用上面提供的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);
这样,如果深度链接失败,1s后您将得到重定向
重要提示:
- 并非所有浏览器都支持通过URI的深度链接方案。例如,在Chrome中,这将失败。在这里,你必须使用意图,明白吗
- 在iOS 9+中,如果未安装应用程序,safari浏览器将阻止URI方案的使用-您将在屏幕上看到有关URL有效性的错误。在这里,您需要实现通用链接,请参见