App服务化, 10倍增加,你想知道的都在这里了!

Apple为iOS 9发布了一个所谓的通用连接的深层连接特性,即Universal links。虽然它并不完美,可是这一发布,让数以千计的应用开发人员忽然意识到本身的应用体验被打破。
魔窗推出了mLink ,为了打破App孤岛格局,构建情景式的服务链,大幅提高用户体验,让每一次的链接都产生价值。web

什么是Universal links?
Universal links,一种可以方便的经过传统的HTTP/HTTPS 连接来启动App,使用相同的网址打开网站和App。
试想一下,经过惟一的网址,一个用户点击能够连接到你网站的网址,当App已经被安装的时候,直接无缝的重定向到App中而不是打开 Safari,当用户没有安装App的时候,直接在Safari中打开连接,经过这个惟一的网址还能够连接到您App中某个特定的视图,而不是特别的URL Schemes。这种用户体验是否是至关的棒?安全

相较custom URL Schemes, Universal links的好处
(1)不一样的App是能够定义相同的custom URL Schemes的,因此会存在抢占或者冲突的问题,而Universal links使用标准的HTTP/HTTPS,因此不存在上述问题。
(2)custom URL Schemes在没有安装App的状况下是没法直接打开的,而Universal links自己是一个HTTP/HTTPS 连接,因此在没有安装App的状况下,能够用Safari打开相应的webView 。
在微信中打开Universal link ,而且App未安装的状况下:
听萌妹纸说,如何在微信中直接唤醒第三方App微信

在微信中打开custom URL Schemes,而且 App 未安装的状况下:app

(3)在 App 已安装的状况下,在微信中点击跳转连接,custom URL Schemes是没法直接打开App的,由于微信屏蔽了custom URL Schemes的跳转,而Universal links因为其自己是HTTP/HTTPS 连接的优点,能够跳出微信的屏蔽,直接从微信中跳转并打开相应的App。
在微信中打开Universal link ,而且App已安装的状况下:ide

在微信中打开customURL Schemes,而且App已安装的状况下:网站

(4)Universal links可使用相同的网址打开网站和 App。搜索引擎

(5)Universal links支持从其余App的MKWebView或UIWebView中跳转到目标 App。
(6)Universal links自己能够被搜索引擎索引。
Universal links的具体实现
实现Universal links不难,可是也有一些门槛:
有一个注册的域名
经过 SSL 访问域名
支持上传一个JSON文件到你的域名
至少iOS 9+
至少Xcode 7 beta 2
(1)添加一个apple-app-site-association文件到你的网站来描述 URL 和 App 的关联。
该文件必须存在且为了安全缘由须要使用SSL 经过 GET 请求访问到。
在你的apple-app-site-association文件中,是须要写一个简单的JSON格式,好比:
{
"applinks": {
"apps": [],
"details": [
{
"appID":"9JA89QQLNQ.com.apple.wwdc",
"paths": [ “/wwdc/news/",“/videos/wwdc/2015/*"]
},
{
"appID":"TeamID.BundleID2",
"paths": [ “*" ]
}
]
}
}
(2)添加Associated Domains来指定要从哪些域名查询Universal link support。在Xcode的capabilities 里添加你的App域名,必须用applinks前置它。
(3)在App delegate的application:continueUserActivity:restorationHandler: 方法中handleuniversal linksrest

魔窗mLink对Universal links的支持
魔窗除了对custom URL Schemes以外,同时也对Universal links进行了支持。
若是App已经配置了Universal links ,只须要在魔窗后台添加相应的Universal links便可;
若是App没有配置Universal links ,那么只须要提供Team ID 和Bundle ID,魔窗为App提供Universal links服务。code

相关文章
相关标签/搜索