iOS Universal Link 通用链接

使用场景

通过qq或者微信分享出来的H5链接,当点击H5链接的某个按钮时,要实现如下功能:

  • 用户未安装APP时,跳转到AppStore引导用户安装
  • 用户安装时,唤醒APP并跳转到APP某一个指定的页面。
    注意⚠️:传统的URL Schema实现存在的弊端
    • 跳转的时候会出现提示框,“是够打开XX”,用户体验不好。
    • 微信屏蔽URL Schema ,必须是出现在白名单里面才可以跳转(意味着用户无法在微信里面一键直达APP)。
      而通用链接可以解决上述问题
通用链接的介绍及优点可以参考一下链接
通用链接的优点
  • 安全性: 当用户安装应用程序,iOS会检查您已经上传到web服务器文件,以确 保您的网站允许你的应用程序能打开代表它的URL 文件,只要你创建并且上传该文件,那么你的应用和服务器之间的关联是安全的。
  • 灵活性: 当你的应用程序没有被安装的时候,通用链接照样能够工作。当用户没有安装你的应用程序,点击该链接,将会以用户所期望的以Safari的形式访问
  • 私有性: 其他的应用程序可以和你的应用程序进行通信,不管你的应用是够被安装。
  • 简单性: 通用链接既能支持你的网站,又能支持你的应用。
  • 独特性: 与自定义的URL链接相比,通用链接不能被其他的应用程序所访问,因为它们使用的是标准的HTTP 或 HTTPS 链接到你的网站。
通用链接实现的条件
  • 有一个注册的域名
  • 域名可通过 SSL 访问(应该是需要有效的证书)
  • 支持上传一个 JSON 文件到域名
  • 至少 iOS 9 beta 2 版本
  • 至少 Xcode 7 beta 2
  • 需要真机测试,模拟器不支持通用链接
  • web server 需要支持 https,客户端需要通告 https 访问,并且不支持任何重定向
通用链接实现的操作步骤
  • 1. 开发者账号中开启Associated Domains域:
    进入苹果Apple Developer --- Member Center - Certificates, Identifiers & Profiles – Identifiers - App IDs –Edit 然后开启打钩 Associated Domains 后保存。
  • 2. 添加Associated Domains域:
    说明:你的 APP 域名必须用 applinks: 前置它,还添加一些你可能 拥有的子域和扩展(www.domain.com, news.domain.com 等等)。
    作用:配置之后你的 APP 会自动从你的域名请求一个特殊的 JSON 文 件 apple-app-site-association。当你第一次启动 APP,它会从 https://domain.com/apple-app-site-association 下载这个文件。
  • 上传 apple-app-site-association到服务器的根目录:
    注意事项1
  • 1 paths 路径是大小写敏感的
  • 2 paths 内容可以明确哪些通用链接是需要被处理的,哪些是不需要被处理的。
  • 3 NOT使用:为了明确不被处理的链接,可以增加NOT在链接前面
  • 4 可以使用*明确所有的网页
  • 5 可以使用一个明确的URL
  • 6 可以追加到你的URL,使用匹配任何字符,使用?匹配一个字符,也可以使用和?的混搭模式。

注意事项2

  • Appid的组成部分:teamId+bundleId teamId
  • bundleId一定要和APP的bundleId一致
  • apple-app-site-association文件不能带后缀
  • apple-app-site-association文件需要上传到网站根目录。
  • 每一个代表应用的字典必须包含一个appid和paths,appid是teamID和bundleId,paths是一个字符串的数组。明确着你的应用支持的通用链接和不支持的通用链接。
    列子:
    此处如果有截图就添加,json里面的内容。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    NSString *activityTypeStr = userActivity.activityType;
    if ([activityTypeStr isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *webUrl = userActivity.webpageURL;
        if ([webUrl.host isEqualToString:@"baidu.com"] ) {
            //打开对应页面
        } else {
            //不能识别safari打开
            [[UIApplication sharedApplication] openURL:webUrl];
        }
    }
}
在APP中处理通用链接

如果有截图再替换

参考资料

https://developer.apple.com/ios/download/
http://www.cocoachina.com/ios/20150902/13321.html
http://www.jianshu.com/p/c2ca5b5f391f
http://strivingboy.github.io/blog/2015/09/27/ios9
http://help.tune.com/marketing-console/ios-universal-links-with-tune/
http://stackoverflow.com/questions/33391615/ios-9-universal-links-dont-work
http://www.jackivers.me/blog/2015/9/17/list-of-universal-link-ios-9-apps

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容