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 服务
2、在App中开启 Associated Domains 服务
域名的格式为: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就可以了
以上是 iOS分享-Universal Link改造 的全部内容, 来源链接: utcz.com/a/28919.html