tod*_*ddg 2 node.js ios express ios-universal-links
我已经使用后端的别名子域和类似方案在我的 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');
}
...
});
Run Code Online (Sandbox Code Playgroud)
但是,我不希望这干扰确实安装了该应用程序的人的通用链接。通用链接get请求是发送到我的服务器还是 iOS 会在此之前拦截它们?
这应该可以正常工作。
配置通用链接并安装您的应用程序后,设备在启动应用程序之前不会访问服务器。这是因为 iOS 会apple-app-site-association在应用程序首次安装时缓存该文件,如果打开的 URL 与那里定义的路径匹配,通用链接就会启动。在这种情况下,iOS 完全绕过任何 Web 请求并立即启动您的应用程序。
当然,这意味着您无法跟踪通用链接流量,这可能成为一个主要痛点。要解决这个问题,您需要像Branch.io(全面披露:我在 Branch 团队中)这样的东西来填充缺失的数据。
另外,如果您要代理子域,请确保iOS 不会将其视为任何类型的重定向。否则,该apple-app-site-association文件根本不会被抓取(常见的通用链接实现问题)。
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |