iOS 可以在 HTTP 方案中支持深层链接吗?
Can iOS Support Deep-Links Within the HTTP Scheme?
在 Android 下,您可以捕获 "http" space 的一部分并将其用于深入 link 应用程序。例如,YouTube 应用程序使用此功能,因此任何 link 到 http://www.youtube.com/ 都可以选择在本机应用程序中打开。
是否可以对 iOS deep linking 做同样的事情? 我的 searching 仅显示自定义方案的示例,所以我我猜不会。
如果没有,如何实现? 我可以让我的 Web 服务器执行从 http url 到 url 的 302 重定向吗?我的自定义方案?
或者更好的是,我如何检测应用程序是否已安装并深入 link 或将用户引导至适当的下载页面?
我可以高兴地报告从服务器的 http 地址到自定义方案的重定向在 Android 和 iOS 下都有效。不过最好不要这样做,所以仍在寻找其他想法。
这是我在一个空的 App-Engine servlet 中使用的代码:
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String query = req.getQueryString();
String deeplink =
"example:/" + // pathinfo includes leading slash
req.getPathInfo() + (query != null ? "?" + query : "");
resp.sendRedirect(deeplink);
}
在 Android 下,您可以捕获 "http" space 的一部分并将其用于深入 link 应用程序。例如,YouTube 应用程序使用此功能,因此任何 link 到 http://www.youtube.com/ 都可以选择在本机应用程序中打开。
是否可以对 iOS deep linking 做同样的事情? 我的 searching 仅显示自定义方案的示例,所以我我猜不会。
如果没有,如何实现? 我可以让我的 Web 服务器执行从 http url 到 url 的 302 重定向吗?我的自定义方案?
或者更好的是,我如何检测应用程序是否已安装并深入 link 或将用户引导至适当的下载页面?
我可以高兴地报告从服务器的 http 地址到自定义方案的重定向在 Android 和 iOS 下都有效。不过最好不要这样做,所以仍在寻找其他想法。
这是我在一个空的 App-Engine servlet 中使用的代码:
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String query = req.getQueryString();
String deeplink =
"example:/" + // pathinfo includes leading slash
req.getPathInfo() + (query != null ? "?" + query : "");
resp.sendRedirect(deeplink);
}