美文网首页iOS归纳
iOS开发--通用链接(Universal Links)实战

iOS开发--通用链接(Universal Links)实战

作者: Elbert_Z | 来源:发表于2017-05-08 16:23 被阅读0次

什么是通用链接?

通用链接是一种能够方便的通过传统 HTTP 链接来启动 APP, 使用相同的网址打开网站和 APP。

通过唯一的网址, 就可以链接一个特定的视图到你的 APP 里面, 不需要特别的 schema 。试想一下 Twitter 使用了通用链接, 那么你每在 twitter.com 点击一个链接, 你的 iOS 设备都会在 Twitter 里面自动打开这个页面, 而不是当你没有安装时转到普通的网页。这个用户体验是顺畅的, 最重要的是用户不会失去上下文(跳到 APP 后 Safari 上不再留下空标签)。

怎么使用通用链接?

1.首先要有一套支持通用链接的证书,因此在appID的生成中勾选Associated Domains功能: 

勾选服务项

2.在你创建的工程中target-》capablities中打开Associated Domains服务。

3.创建一个json 格式的apple-app-site-associatio 文件:

{

"applinks": {

"apps": [],

"details": [

{

"appID": "HQK4UH6GG4.com.wwdc.cctvwwdc",

"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*" ]

}

]

}

}

tips:

1)paths是域名下可支持跳转的链接路径(paths是区分大小写的)eg:https://domain.com/wwdc/news/  可以进入app,https://domain.com/wwdc/olds/不可以

2)appID组成部分:TeamID + BundleId; TeamID可以从苹果开发账号页面的 Account-》Membership-》Team ID

Team ID

4.上传 apple-app-site-association 文件

  首先,上传到web server主目录下 PS:自16年下半年后,apple修改了策略,从原来的/apple-app-site-association到现在的/.well-known/apple-app-site-association

 其次,web server 的主目录需要支持https

5.在工程中做配置支持和代码支持

配置支持:在第2步中的Associated Domains里 添加你的 APP 域名, 必须用 applinks: 前置。还可以添加一些你可能拥有的子域和扩展(www.domain.com, news.domain.com 等等)。

Associated Domains的域名支持

这将使你的 APP 从你的域名请求一个特殊的 JSON 文件 apple-app-site-association。当你第一次启动 APP,它会从https://domain.com/apple-app-site-association下载这个文件。

代码支持:在 AppDelegate 里实现 application(_:continueUserActivity:restorationHandler:)

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{

//

if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {

//

NSURL *webUrl = userActivity.webpageURL;

NSLog(@"universal link URLString=%@",webUrl.absoluteString);

[[UIApplication sharedApplication] openURL:webUrl];

}

return YES;

}

当应用启动并且验证为NSUserActivityTypeBrowsingWeb时,此时可以使应用打开一个非空的URL地址,同样的你也可以做些其他的事情。

相关文章

  • iOS开发--通用链接(Universal Links)实战

    什么是通用链接? 通用链接是一种能够方便的通过传统 HTTP 链接来启动 APP, 使用相同的网址打开网站和 AP...

  • iOS Universal Links

    Support Universal Links对开发者而言,当你支持通用链接时,iOS用户可以通过点击你的网站链接...

  • web跳转app

    iOS Universal Links(通用链接) 1.构建通用链接 2.上传通用链接 3.配置Xcode 4测试...

  • Universal Links

    Universal Links(通用链接) 看苹果官方文档更易理解 当支持了Universal Links已安装a...

  • iOS 通用连接(Universal Links)

    1.背景 苹果在iOS9添加了通用连接(Universal Links),当您支持通用链接时,iOS用户可以点击指...

  • iOS开发问题日记

    开发碰到的问题 1. iOS13 分享适配通用链接(Universal Links) 1.微信分享官方文档2.一篇...

  • iOS 通用链接 Universal Links

    不多赘述配置和调试,这里说明踩坑 配置引用 官方网站 验证地址 授权文件,可放在服务器根目录下,或根目录下/.we...

  • iOS Universal Links 通用链接

    通用链接: 官网地址 当您支持通用链接时,iOS用户可以点击指向您网站的链接,无需通过Safari即可无缝重定向到...

  • iOS Universal Links(通用链接)

    简介 什么是Universal Links(通用链接)? 这是iOS9推出的一项功能,如果你的应用支持Univer...

  • iOS Universal Links(通用链接)

    本文的原地址是 https://yohunl.com/ios-universal-links-tong-yong-...

网友评论

    本文标题:iOS开发--通用链接(Universal Links)实战

    本文链接:https://www.haomeiwen.com/subject/ndkstxtx.html