使用通用链接(Universal Link)打通深度链接 - 适用iOS 9或者以上版本

什么是通用链接(Universal Link)?

为了更好的用户体验,苹果针对iOS9或者以上系统,推出通用链接(Universal Link):一种能够方便的通过传统 HTTP 链接启动应用程序, 使用相同的网址打开网站和App。通过一个通用的链接便可实现,当移动设备里面已经有了某个应用,在点击了这个链接后便可实现深度链接而直接进入应用内的某个特定页面;如果手机内并没有该应用,可打开设定的网址(例如应用的落地下载页面)。

如何使用通用链接?

常规的实现方法详见苹果官网的Universal Link配置指导,从中可看出您需要有一个注册域名,也需要支持上传一个json文件至你的域名等多方面的必备技术条件。

AppsFlyer如何提供便捷?

按照下方配置便可省去苹果官方配置文档里的几个步骤, 快速使用通用链接并且也同步使用AppsFlyer的归因和追踪功能:

1. 配置OneLink

这一步骤相当于配置通用链接, 相比苹果提供的常规方案, 许多步骤已无需额外配置, 而是由AppsFlyer的技术资源代劳。使用通用链接,需要在应用和您的域名之间建立安全的关联关系。为了实现这个关联,AppsFlyer需要将一个叫做apple-app-site-association的文件包括应用的Bundle Indentifier和Team ID这些信息放在AppsFlyer分配给您的域名上。为了实现这个,请完成以下步骤:

1.1 Team ID可在苹果开发者平台的Organization Profile >> Account Summary找到。登陆http://developer.apple.com后,进入Member Center, 在右上角点击你的账户名字并且选择“View Account”。

1.2 下一步,要找到Bundle ID。这个ID既在Xcode里找到,也可以在苹果开发者平台中心找到。如果您的应用已经在苹果应用商店上线了, AppsFlyer会自动从苹果商店抓取Bundle ID,但如果您的应用还未上线,那就需要人工将正确的Bundle ID在AppsFlyer后台配置OneLink的时候填入。

1.3 接下来, 登陆该应用AppsFlyer后台,进入OneLink配置页面(OneLink Configuration page)进行下面的设置:

-开启Universal Links - 对应截图第1

-填入Team ID - 对应截图第2

-输入您应用的子域名, 您不同应用可以分享同一个子域名 - 对应截图第3

2. 在苹果开发者后台做配置

2.1 如果应用已经在苹果商店注册好了, 需要进入应用的Identifiers, 开启Associated Domains。具体步骤如下,进入 Identifiers >> Apps IDs, 选择应用然后开启Associate Domains。

2.2 您还需要对应生成provisioning文件,下载下来,然后在Xcode里安装provisioning文件。

3. 配置应用

3.1 进入Xcode,选中对应的app。

3.2 在Capabilities里,开启Associate Domains.

3.3 把”applinks:”作为前缀,连接之前配置好的OneLink域名添加在Domains空格里。例如, 如果之前选择mydomain作为子域名,那么您需要把applinks:mydomain.onelink.me填入此处。

测试,确认配置无误

1. 以上前期配置完成后,便可以进入该应用AppsFlyer后台的Media Source Configuration>>Custom Media Source生成OneLink。你会发现在选中“Enable OneLink”后, 对应的链接的域名和之前的设置是保持一致的, 如果需要OneLink配合使用深度链接,便把对应的选项选中(如下图)并填入正确的deeplink url。

2. 使用真机(模拟器不能用来测试),模拟对应使用场景进行测试,看生成的OneLink是否可以在设备已经安装并激活应用的时候直接开启应用内指定的页面;和在设备没有安装应用的前提下,是否也可以到达指定的商店落地页。

3. 预测测试会出现的问题和解决方案。

如果在点了OneLink后,是苹果浏览器Safari开启而不是应用本身打开,那么请在设备里删除应用后,再尝试重新测试。如果问题仍然存在,试图添加另外一个Associate Domains, 然后再在测试设备里删除应用后重新测试。

已知限制

1.Gmail和其他Google Inbox应用是无法协同Universal Link进行测试的。建议您可以使用苹果设备自带的邮箱应用进行测试。

2. 使用通用链接的OneLink是无法再通过AppsFlyer后台直接生产短链的,因为我们需要保留域名原貌。

 

 

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求
由 Zendesk 提供技术支持