H5W3
当前位置:H5W3 > 其他技术问题 > 正文

iOS分享-Universal Link改造

一、介绍

Universal Link是苹果再WWDC 2015上提出的iOS 9的新特性之一。此特性类似深层链接,并能够方便地通过打开一个https链接来直接起动客户端。对比以往使用的URL Scheme,这种新特性在实现web-app的无缝连接时能提供极佳的用户体验。

他比url scheme的进步之处就在于跳转更灵活,对web更友好。

二、集成准备

  • 域名(必须https)
  • apple-app-site-association 文件
  • iOS 9以上(现在大部分App都可以)

三、步骤

1、在 developer.apple.com 开启 Associated Domains 服务
image
2、在App中开启 Associated Domains 服务
image

域名的格式为:applinks:www.example.com

3、配置 apple-app-site-association 文件

官方文档如下

{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
 
  • apps必须对应一个空数组;
  • details对应字典数组;
  • appID的构成为 teamID.bundleID
  • appID+paths可以一个文件对应多个App(具体配置后边单独讲);
  • 文件不能有后缀
  • 文件放到服务器中该域名的根目录下或者/.well-known/下
4、Appdelegate增加如下代码
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
 

这里的代码是wx分享的,具体的逻辑还需要各位自己去写。

到这里,不管是友盟还是各家自己的分享,基本上都可以使用了。

四、同一家公司多个App用一个域名

{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/*"]
},
{
"appID": "9JA89QQLNQ.com.apple.appstore",
"paths": [ "/appstore/*" ]
}
]
}
}
 

一个域名多个App可以通过path区分,然后在注册的时候填写对应的URL就可以了

本文地址:H5W3 » iOS分享-Universal Link改造

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址