iOS Universal Link 简介

一、什么是Universal Link

Universal Link(通用链接)是什么,相信iOS开发的同学一定对这个东西非常熟悉。这是Apple在iOS9推出的一种能通过HTTPS链接直接启动手机APP(手机有安装APP的情况)的链接。当你的应用支持Universal Link(通用链接),在用户点击一个链接时可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过Safari浏览器。如果你的应用不支持的话,则会在Safari中打开该链接。在苹果开发者中可以看到对它的介绍是:

Seamlessly link to content inside your app, or on your website in iOS 9 or later. With universal links, you can always give users the most integrated mobile experience, even when your app isn’t installed on their device.

二、什么是URL Scheme

说起Universal Link,我们不由就会想起URL Scheme,在Universal Link出来之前iOS这边使用的一直都是URL Scheme进行APP之间的跳转,当然在Safari中也可以通过scheme://跳转APP。但是每次跳转之前都会弹出系统级提示,询问是否打开,如果设备中没有安装此App则会直接弹出错误提示,体验不友好。熟悉iOS开发的同学也肯定对这个东西不陌生。

三、Universal Link的优点

Universal Link(通用链接):看起来就是一条普通的https链接,当然是我们在该链接域名根目录配置过的一个链接,也可以在该链接中放置对应的H5页面。当用户的点击该链接,只要手机中安装了支持该链接的APP就会直接进入到APP中。如果没有安装APP则会跳转到Safari浏览器中,展示H5页面。对用户来说则是一个无缝跳转的过程。

使用Universal Link(通用链接)可以让用户在Safari浏览器或者其他APP的webview中拉起相应的APP,也可以在APP中使用相应的功能,从而来把用户引流到APP中。比如淘宝当在Safari浏览器中进入淘宝网页点击打开APP则会使用Universal Link(通用链接)来拉起淘宝APP。

相比于URL SchemeUniversal Link的优点有:

  • 灵活性:即使未安装APP,Universal Link也可以正常使用,网页可以显示跳转AppStore下载的引导,进一步地提升用户体验。
  • 安全性:开发者在自己的网站域名配置了apple-app-site-association,才能通过对应的域名调起APP。另外域名必须支持HTTPS
  • 隐私性:在iOS9之前,基于URL Scheme,大家可以判断手机是否安装某APP。并且可以随便根据URL Scheme打开其他APP,像以前之前可以打开微信的扫一扫等各种功能。使用Universal Link就不会被其他恶意开发者随便跳转打开你的APP具体页面。
  • 通用性:一个URL对你的网站和App都通用,Universal Links是标准的URL格式,而自定义URL Scheme可能理解为特殊URL方案,默认只有你的App能解析,浏览器无法解析。

四、如何配置Universal Link

1.创建配置文件

创建一个名字叫做apple-app-site-association,包含固定格式的json文件内容如下:

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

注意:文件名必须为apple-app-site-association,不能带json后缀。

appIDteamID.BundleIDpath是设置哪些路径可以唤起APP。

2.Xcode工程配置

在项目的Capablities中开启Associated domains,一定要按照applinks:域名的格式填写。
在这里插入图片描述

3.服务器配置

apple-app-site-association文件上传到服务器这个需要后端开发配合完成,将这个文件放到服务器的根目录下或者放到.well-known目录下。

4.验证Universal Links配置是否成功

如果已经配置过Universal Links,那么在用户第一次安装app时,苹果会发送一个请求,请求你服务器上的apple-app-site-association文件。

请求apple-app-site-association文件成功之后,用户就可以使用Universal Links唤醒app了。测试的咱们最好把应用删了重新装,确保苹果会发请求。

验证方式:

直接将https: //http://app.mytest.com/SystemCalendar复制到Safari打开,记得下拉一下看看会不会出现APP的跳转栏,像下面这样就是成功了。
在这里插入图片描述

5.通过Universal Links跳到APP内,获取URL

通过universal link打开APP之后,执行了下面方法,可以在下列方法中根据path去做不同的操作,比如打开某个特定页面,做某个特定操作这些都是可以的。

func application(_application:UIApplication, continue userActivity:NSUserActivity, restorationHandler:@escaping([UIUserActivityRestoring]?) ->Void) ->Bool{
    return true
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值