如何在单击电子邮件中发送的超链接时将用户重定向到移动应用程序或网站?是否需要使用PHP在服务器端处理它?

如何在单击电子邮件中发送的超链接时将用户重定向到移动应用程序或网站?是否需要使用PHP在服务器端处理它?,php,ios,redirect,hyperlink,phpfox,Php,Ios,Redirect,Hyperlink,Phpfox,我有一个网站,它已经用PHPFox开发出来了,运行良好。现在,iOS开发团队已经在iOS中创建了一个移动应用程序,其功能与网站相同。用户可以使用此应用程序执行他/她可以在网站上执行的所有操作。换句话说,我们可以说这个应用程序是现有网站的复制品。应用程序开发的唯一限制是流程和功能应与网站相同。应用程序和现有运行网站之间不应有任何功能差异 对于此应用程序,他们使用的功能与网站PHPFox代码库中的功能相同。我正在通过使用Slim框架开发的REST API向iOS团队提供这些功能。在这些API中,我从

我有一个网站,它已经用PHPFox开发出来了,运行良好。现在,iOS开发团队已经在iOS中创建了一个移动应用程序,其功能与网站相同。用户可以使用此应用程序执行他/她可以在网站上执行的所有操作。换句话说,我们可以说这个应用程序是现有网站的复制品。应用程序开发的唯一限制是流程和功能应与网站相同。应用程序和现有运行网站之间不应有任何功能差异

对于此应用程序,他们使用的功能与网站PHPFox代码库中的功能相同。我正在通过使用Slim框架开发的REST API向iOS团队提供这些功能。在这些API中,我从应用程序接受JSON格式的请求,对其进行解码,通过传递所需的请求参数从PHPFox代码库调用所需函数,从函数获取响应,将其转换为JSON格式并发送回移动应用程序

现在,让我们关注我面临的问题

在这两种场景(网站和应用程序)中,对于一些功能,如新用户帐户激活链接、重新发送帐户激活链接、在忘记密码时重置现有用户的密码等,会向相关用户发送电子邮件。此电子邮件包含相关的超链接。当用户单击发送到电子邮件中的此超链接时,它总是重定向到网站上的相应网页

当该特定用户单击接收到的邮件中的超链接时,它将被重定向到网站。它不会重定向到应用程序

我的要求是,如果用户已在安装/运行移动应用程序的设备上打开邮件,并单击邮件中的超链接,他/她应重定向到移动应用程序的特定页面,而不是网站

假设用户在未安装应用程序的计算机、笔记本电脑或设备上打开邮件,他/她应该重定向到网站

我应该如何做到这一点

这里还要注意的是,要发送到邮件中的链接的重定向路径(href
属性的值)仅生成到网站的PHPFox代码中。所以,如果我需要改变逻辑来实现这个新功能,在不改变应用程序和网站上的系统流程的情况下,我该怎么做?或者我应该为它编写一个新函数,以便不更改PHPFox的现有代码

我研究了这个问题的解决方案。我开始知道这可以做这项工作,但不明白怎么做

这一要求是iOS团队根据他们在互联网上的发现向我(PHP团队)提出的。请同时参阅此

因此,我的直截了当的问题是,因为本文是关于iOS编码的,它与服务器端编码(即PHP)无关。我是否应该使用PHP在服务器端执行任何操作来实现此功能?

您(或您的iOS团队)需要向iOS应用程序添加URL方案,以实现深度链接。然后,您需要一个网站来检查此URL方案(以及iOS应用程序)是否在设备上可用。如果是,则转发至应用程序,如果不是,则转发至网站。然后将支票网站的链接嵌入电子邮件中

有一些服务可以帮助您完成整个设置。我知道有一个,但我肯定还有更多

编辑:

iOS中的深度链接:

从该链接:“要启用深度链接,请转到Xcode项目中的“信息”选项卡。在“URL类型”部分,单击“+”按钮,然后添加标识符和URL方案。确保您选择的标识符和URL方案是唯一的。请记下您输入的URL方案,因为iOS知道如何在您的应用程序中打开链接。”

有更多的步骤要遵循,所以一定要阅读全部内容

为iOS和Web创建链接:


您希望重定向到您的网页,而不是重定向到应用商店。

您不必做任何事情。请您的iOS开发人员阅读关于
URL方案的内容,您提到的链接中似乎已经解释了这些内容,iOS团队是根据这些链接与您联系的。该链接显示了如何使您的应用程序能够从其他地方启动(您的应用程序是邮件应用程序)。电子邮件将用户带到网站而不是应用程序的原因是,超链接提到了您的web链接,而没有提及应用程序

基本上类似于你的网站有一个链接的形式说
http://youwebsite.com/
,该应用程序还有一个for
yourapp://
的链接,一旦iOS应用程序集成了
URL方案,该链接就可以在设备上运行。因此,您需要在电子邮件超链接中提及此URL

请参阅可以帮助您设置邮件链接的

总而言之

  • 你什么都不用做
  • iOS团队需要集成URL方案
  • 生成电子邮件的位置确保链接已适当更新
  • 注意:使用上面的链接了解链接是如何工作的,这里没有解释原因有二

    a) 这超出了问题的范围,您需要知道作为PHP开发人员是否需要做任何更改,所以答案是否定的


    b) 它已经在

    中使用javascript进行了处理,您可以有一个登录页来引导用户:

    您可以使用以下命令将用户重定向到应用程序方案:

     document.location="myApp://myUrl";
    
    如果浏览器找不到uri方案,您可以使用setTimeout将用户重定向到您的网页

    setTimeout(function() {
       document.location="/path/inside/website.html";
    }, 100);
    
    另一个好的解决方案是在一个小的测试文件上使用iframe测试url模式的存在性,如果iframe可以重定向当前页面,则重定向当前页面
    <iframe id="ifrm" src="" style="display:none"></iframe>
    <script>
    window.frames['ifrm'].onload = function() {
       document.location="myApp://myUrl";
    };
    window.frames['ifrm'].src = "myApp://myUrl/ok.txt";
    </script>