通用深度链接与Mandrill子域
我有适用于iOS应用程序Neighborly的Universal Deep Links(与neighbourly.co.nz关联)
我们发送电子邮件给我们的用户,并使用Mandrill跟踪点击。 电子邮件链接转到指向mandrillapp.com/path的子域clicks.neighbourly.co.nz/path,链接redirect到neighbourly.co.nz/newpath
我添加了applinks:clicks.neighbourly.co.nz到应用程序相关的域名。
我的苹果应用程序站点关联文件的path是一个通配符:[“*”]
但是,虽然链接neighbourly.co.nz正确启动应用程序,链接clicks.neighbourly.co.nz启动Safari。 我错过了什么?
我无法在网上find任何有关设置深度链接子域的信息
我的苹果应用程序站点关联文件需要托pipe在mandrillapp.com?
Mandrill的跟踪也可能与通用链接混淆。
通过禁用我的branch.io链接的mandrill跟踪来解决这个问题
mc:disable-tracking
是关键
在我的模板中:
<a href="http://mybranchsubdomomain.mydomain.com/something" mc:disable-tracking>Disabled Mandrill URL</a>
我们使用Cloudflare (我推荐使用的一项了不起的服务)在DNS(相似)级别上解决了这个问题。
将Mandrill设置为使用Cloudflare作为DNS提供程序的自定义域进行点击跟踪。 例如下面的截图是在Mandrill和Cloudflare中设置的track.yourdomain.com。
山tracking跟踪域:
Cloudflare DNS:
然后,在Cloudflare中使用他们的“页面规则”function来创build一个redirect到您在实际网站上托pipe的apple-app-site-association
文件(假设它的规则可以在两个域上运行,否则您可能会redirect到另一个文件,我没有testing这个)
Cloudflare页面规则:
我还添加了caching绕过规则,因为您希望track.yourdomain.com的所有请求都能到达原始服务器,并且不会被边缘服务器caching。
首先,您不需要在mandrillapp.com上托pipeapple-app-site-association
文件。
第二件事你需要添加applinks:neighbourly.co.nz
到应用程序相关的域名。
因为我只是检查,如果我要求您的服务器的apple-app-site-association
与URL的URL https://clicks.neighbourly.co.nz/apple-app-site-association那么你的服务器返回404文件没有find。
然后,我从urlhttps://www.neighbourly.co.nz/apple-app-site-associationfind并下载了你的apple-app-site-association
,我检查你使用的是旧格式 。 这里是你目前的关联文件
{ "applinks": { "apps": [], "details": { "2E23KCX8SU.nz.co.neighbourly.ios": { "paths":[ "*", "/" ] } } } }
用这种新格式replace旧的apple-app-site-association
文件
{ "applinks": { "apps": [], "details": [ { "appID": "2E23KCX8SU.nz.co.neighbourly.ios", "paths":[ "*", "/" ] } ] } }
更新apple-app-site-association
文件后,使用Applevalidation工具对其进行testing
应用searchAPIvalidation工具结果
对于 – > https://clicks.neighbourly.co.nz/apple-app-site-association