是否只有在移动用户安装了应用程序的情况下才能重定向他们



我目前正在进行一个项目,该项目同时存在一个移动应用程序和一个网站。一项任务可以在网站(适用于桌面用户)或应用程序上执行。目前,该网站要求的功能如下:

  1. 如果桌面用户访问该网页,请照常访问该网页
  2. 如果移动用户访问该网页,请将其重定向到已安装的移动应用程序

我已经实现了判断用户是在桌面上还是在移动设备上的逻辑(至少在大多数情况下);然而,我突然想到,一些用户可能没有安装该应用程序,或者将来桌面设备可能会被错误地识别为移动设备。如果未安装应用程序的计算机被重定向,它们将遇到一些错误或about:空白页。因此,我的问题是,是否有任何方法可以判断Response.重定向到移动应用程序是否会成功

到目前为止,我已经研究了HttpWebRequest/HttpWebResponse选项,试图在重定向之前根据请求的页面响应来确定成功或失败,但这似乎不是一个有效的选项,因为链接到应用程序的URL不会为HttpWebRequest提供有效的URI来进行测试。如有任何协助或建议,我们将不胜感激。非常感谢。

为了澄清,重定向看起来像这样:

Response.Redirect("opencustomapp://SomePage?Parameter1=bar&Parameter2=foo");

预期的结果不是打开网页,而是与安装在用户手机上的应用程序交互,该应用程序已映射到此url。

编辑:我已经接受了这样一个答案,即似乎不可能实现我的要求,但如果其他人有这个问题,我想在其他问题上附上一些有用的链接,这些问题涉及如何使用cookie来确定是否安装了应用程序,以及如果没有设置cookie,如何将用户重定向到其他地方。对于我自己的代码,我可能会使用用户代理检查和setTimeout()函数的组合,因为这可以使用ClientScript.RegisterStartupScript从代码后面实现,而不需要对现有应用程序进行任何更改。

不,在服务器上无法判断重定向是否成功。这是因为重定向是从服务器发送回客户端并在客户端执行的。你能做的最好的事情可能是使用移动应用程序在设备上为网站设置cookie,然后在请求的服务器端检查该cookie。。。如果存在,请重定向。如果他们删除了应用程序(如果可能的话,对移动应用程序不太熟悉),请小心清除cookie,否则重定向将失败。

相关内容

最新更新