通用链接会访问我的服务器吗?

2024-01-07

我已经使用后端的别名子域和类似方案在我的 iOS 应用程序上设置了通用链接sudomain.mydomain.com。我希望未安装该应用程序的用户能够重定向到我们在 App Store 中的页面,而不是访问我们服务器上一些不存在的端点(我们没有 Web 应用程序,只有移动后端)。

我正在考虑做这样的事情:

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

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

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

但是,我不希望这干扰确实安装了该应用程序的用户的通用链接。是通用链接get请求发送到我的服务器还是 iOS 会在此之前拦截它们?


这应该可以正常工作。

配置通用链接并安装您的应用程序后,设备在启动应用程序之前不会访问服务器。这是因为 iOS 缓存了apple-app-site-association当应用程序最初安装时,文件会被保存,如果打开的 URL 与那里定义的路径匹配,通用链接就会启动。在这种情况下,iOS 完全绕过任何 Web 请求并立即启动您的应用程序。

当然,这意味着您无法跟踪 Universal Link 流量 https://blog.branch.io/how-to-track-and-attribute-universal-links/,这可能成为一个主要痛点。要解决这个问题,您需要类似的东西Branch.io https://branch.io(全面披露:我是 Branch 团队的成员)来填写缺失的数据。

另外,如果您要代理子域,确保iOS 并不认为这是任何类型的重定向。否则apple-app-site-association文件根本不会被抓取(常见的通用链接实现问题)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通用链接会访问我的服务器吗? 的相关文章

随机推荐