什么是Universal Link?
在iOS9之前,对于从各种从浏览器、Safari中唤醒APP的需求,我们通常只能使用scheme。但是这种方式需要提前判断系统中是否安装了能够响应此scheme的app,并且这种方式在微信中是被禁用了的。
Universal Link是iOS9推出的一项功能,使你的应用可以通过传统的HTTP链接来启动APP(如果iOS设备上已经安装了你的app,不管在微信里还是在哪里), 或者打开网页(iOS设备上没有安装你的app)。
准备使用通用链接
有一个注册的域名
通过 SSL 访问域名
支持上传一个 JSON 文件到你的域名
至少 iOS 9以上版本
至少 Xcode 7 beta 2
1.添加域名到 Capabilities
1.首先, 你必须在 Xcode 的 capabilities 里 添加你的 APP 域名, 必须用 applinks: 前置它:还添加一些你可能拥有的子域和扩展(www.domain.com, news.domain.com 等等)。
这将使你的 APP 从你的域名请求一个特殊的 JSON 文件 apple-app-site-association。当你第一次启动 APP,它会从https://domain.com/apple-app-site-association下载这个文件。跳到下个步骤来了解如何构建这个文件。
2.上传 apple-app-site-association 文件
该文件必须存在且为了安全原因可使用 SSL 通过 GET 请求访问到。你可以打开一个文本编辑器然后写一个这样的简单 JSON 格式:
{
"applinks": {
"apps": [],
"details": {
"moblink.com.domain.App": {
"paths":[ "*" ]
}
}
}
}
根据 paths 键设定一个允许的路径列表(你希望App 作出反应的路径), 或只是一个星号如果你想打开 App 而不管路径是什么。
你可能想知道 applinks:70r9.ulml.mob.com 从何而来, 基本上, 它是加入了你的团队标识的 bundle id。你可以从你的苹果开发账号页面获取你的团队标识:
使用 Mob 后台自动生成技术生成
Bundle id 可以在项目的 target -- General 中找到:
最后, 上传这个文件到你的域名根目录。如果你打开https://domain.com/apple-app-site-association可以看到你的文件, 那么你就可以继续下一步了。
3.进入app后的处理
现在用户点击某个链接,直接可以进我们的app了,但是我们的目的是要能够获取到用户进来的链接,根据链接来展示给用户相应的内容。
我们需要在工程里的 AppDelegate 里实现方法:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb])
{
NSURL *url = userActivity.webpageURL;
if (url是我们希望处理的)
{
//进行我们的处理
}
else
{
[[UIApplication sharedApplication] openURL:url];
}
}
return YES;
}
为了确保你的 App 可以翻译 URL 成实际的内容, 你需要做下面几步:
使用 [NSURLComponents]简单解析 webpageURL 到 host(如domain。com), 路径组成同理(如 ["/"]、"path"、"to"以及"thezoo")。
确保能识别 host。
尝试将 pathComponents 匹配到 APP 的已知内容里。
验证该内容实际上可以被呈现。
呈现内容给用户
Universal Link缺点
通用链接只适用于 iOS 9 +
配置 APP 支持通用链接意味着只有运行 iOS 9 的用户才能享用这一技术优势。 而之前版本的用户将不能在点击网页链接时打开 APP。 相反的, 他们将返回到浏览器和网页, 就像之前正常的网页链接一样。
然后, HOKO为 iOS 5 及更高版本的用户提供了移动深层链接。 因此, 你的移动深层链接将可以运行在几乎所有的 iOS 设备上, 不管它们是不是 iOS 9。
通用链接总是会返回到先前创建的网页
如果你想退回主页或与 APP 完全不不相关的网站?实现这一目标需要一些额外的工作, 要配置一个网页可以指引用户到你的目标页面。 此外, 如果你没有一个网站的话, 这将会是一个不可能的解决方案。
你可以使用 HOKO 智能链接和他们自适应的返回来轻松的解决这个问题。 对于创建的每个智能链接, 你可以在每个平台上选择如果没有安装 APP 会发生什么。 另外你可以设置返回到你的网站, iTunes 商店页面或其它外部网站。
使用通用链接, 开发者必须部署一个网站来关联 App
这对于小型开发者来说可能是个坏消息, 他们可能买不起或维护一个网站, 但是仍然想通过网页链接进入他们的 APP。
HOKO 可以解决这个问题因为它来充当开发者的网站, 每个 APP 托管在不同的子域。 因此, 开发者只需创建智能链接, 并发布其网址, 然后每次都会无缝的打开相应的 APP。
App 与网页之间的联系是由创建和托管在开发者网站上的配置文件搞定的
使用 HOKO, 你可以跳过这些繁的配置, 因为我们使它可以开箱即用。 此外, 我们的服务器运行在有行业顶级标准的安全性和性能上, 为每个设备提供安全和快速的方式。
以上复杂的过程或者资源个人或者小型团队无法完成,选择使用 moblink为最佳选择
MobLink的优点
1,追踪新安装(或新注册)用户来源,如好友关系,营销渠道,自有来源等。
2,从网页一键跳转到指定应用程序内容页如应用程序内新闻资讯页,视频播放页,活动页等。
3,来自不同渠道分享的网站链接,用户点击后可以直接唤起应用程序并进入对应页面。
4,场景还原
从网页端打开的页面,可直达应用程序指定页面,一键唤醒应用;首次安装应用程序,即可恢复对应场景场景还原可以帮助开发者提升应用活跃度,降低用户在网页端跳转至应用过程中的流失率,新用户在首次打开应用程序时,呈现正是用户想看的内容页面,大大提高用户转化率。
5,数据统计分析
Mob数据后台提供实时反馈的App启动数、应用新增数、页面分享浏览数,开发者可以随时了解用户分享行为和应用拉新情况。
6,Web多点跳转App
在Web页面上,MobLink支持多点直接跳转至App,提高不同内容的分享效率,用户点击Web页面任意内容,均可直达App相应页面,实现无缝对接。