Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通用链接是否影响我的服务器?_Ios_Node.js_Express_Ios Universal Links - Fatal编程技术网

Ios 通用链接是否影响我的服务器?

Ios 通用链接是否影响我的服务器?,ios,node.js,express,ios-universal-links,Ios,Node.js,Express,Ios Universal Links,我已经在我的iOS应用程序上设置了通用链接,使用了我后端的别名子域和类似于sudomain.mydomain.com的方案。我希望没有安装应用的用户被重定向到应用商店中的页面,而不是点击我们服务器上不存在的端点(我们没有webapp,只有移动后端) 我在考虑这样做: app.get('*', (request, response) => { const domain = request.headers.host, subdomain = domain.split('.

我已经在我的iOS应用程序上设置了通用链接,使用了我后端的别名子域和类似于
sudomain.mydomain.com
的方案。我希望没有安装应用的用户被重定向到应用商店中的页面,而不是点击我们服务器上不存在的端点(我们没有webapp,只有移动后端)

我在考虑这样做:

app.get('*', (request, response) => {

    const domain = request.headers.host,
      subdomain = domain.split('.');

    if ( subdomain[0] === 'subdomain'){
        response.redirect('www.linktoappstore.com');   
    } 
    ...
});

不过,我不希望这会干扰那些安装了应用程序的用户的通用链接。Universal Link
get
请求是否发送到我的服务器,或者iOS是否在此之前拦截它们?

这应该可以正常工作。

配置通用链接并安装应用程序后,设备在启动应用程序之前不会触动服务器。这是因为iOS在应用程序初始安装时会缓存
苹果应用程序站点关联
文件,如果打开的URL与其中定义的路径匹配,则会启动通用链接。在这种情况下,iOS完全绕过任何web请求,立即启动您的应用程序

当然,这意味着,这可能成为一个主要的痛点。为了解决这个问题,您需要类似(完全披露:我在分支团队中)的内容来填充缺少的数据


另外,如果要代理子域,请确保iOS不会将其视为任何类型的重定向。否则,
apple应用程序站点关联
文件将不会被删除(常见的通用链接实现问题)。

谢谢!一切似乎都对我有用。我假设在这种情况下,使用URL缩短器将不起作用(因此需要分支)。正确,除非您以某种方式控制短URL域并可以在其中添加AASA文件!在applinks中使用通配符时,这是如何工作的?它如何知道在查找AASA文件时使用哪个子域?在没有通配符的情况下,我们可以使用它,但似乎无法使用通配符。有了通配符,iOS会在父域(如果是子域,则为父子域)查找AASA文件。是的,按照这个答案的方向,事情正在为我们工作。谢谢