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就可以了

以上是 iOS分享-Universal Link改造 的全部内容, 来源链接: utcz.com/a/28919.html

回到顶部