iOS Universal Link(通用链接)

场景:

用户通过点击链接直接跳转到APP (没有提示),如果手机没有安装app会选择浏览器打开(系统自己会判断是否安装了app)

要求:
1.必须是Https
2.app本地配置对应域名(such as applinks:www.mywebsite.com.Limit. this list to no more than about 20 to 30 domains.)****证书也要同步开通association domin功能的哦
iOS Universal Link(通用链接)_第1张图片
屏幕快照 2019-04-18 下午5.13.12.png
iOS Universal Link(通用链接)_第2张图片
屏幕快照 2019-04-18 下午4.59.37.png
3.web service 配置apple-app-site-association(json文件)

//文件放到服务器根目录下或者在根目录下新建.well-known 把apple-app-site-association放到里面

注意:apple-app-site-association的更新时机,app重新安装第一次启动会get请求apple-app-site-association文件,还有就是版本更新会请求文件,其他时间就算后台更新文件配置 app也不会拉取!

苹果原话https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2

 Upload the apple-app-site-association file to your HTTPS web server. You can place the file at the root of your server or in the .well-known subdirectory.
{
    "applinks": {
        "apps": [],//这个必须为空数组
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",//开发者账号的teamID.bundleID
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]//支持打开app的路径 * 代表全路径
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}

当然苹果为了方便开发者,也提供了一个网页来验证我们编写的这个** apple-app-site-association **是否合法有效。

验证地址:https://search.developer.apple.com/appsearch-validation-tool/

4.在AppDelegate方法里实现自己的操作
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{}

对比URL Scheme

URL Scheme
  • URL Scheme 是为方便app之间互相调用而设计的,注册自己独一的URL Scheme,然后进行交互。我们可以通过系统的OpenURL来打开该app,也可以直接通过 Safari 直接打开该 app,并可以传递参数内容。
Universal Links
  • iOS 9 之后,苹果推出的通用链接:一种能够方便的通过传统 HTTP 链接来启动 APP, 使用相同的网址打开网站和 APP。
    推出它,肯定有其优点:
  • 唯一性: 不像自定义的scheme,因为它使用标准的http/https链接到你的web站点,所以它不会被其它的app所声明.另外,Custom URL scheme 因为是自定义的协议,所以在没有安装 app 的情况下是无法直接打开的,而 universal links 本身是一个 HTTP/HTTPS 链接,所以有更好的兼容性
  • 安全:当用户的手机上安装了你的app,那么iOS将去你的网站上去下载你上传上去的说明文件(这个说明文件声明了你的app可以打开哪些类型的http链接).因为只有你自己才能上传文件到你网站的根目录,所以你的网站和你的app之间的关联是安全的.
  • 可变:当用户手机上没有安装你的app的时候,Universal Links也能够工作.如果你愿意,在没有安装你的app的时候,用户点击链接,会在safari中展示你网站的内容.
  • 简单:一个URL链接,可以同时作用于网站和app
    私有 其它app可以在不需要知道你的app是否安装了的情况下和你的app相互通信.
  • 注意:APP URL格式为: URL Scheme://URL identifier,直接调用URL Scheme也可打开程序, URL identifier是可选的。

https://www.jianshu.com/p/53588cf8dbc8
https://blog.csdn.net/mo_xiao_mo/article/details/60954116

你可能感兴趣的:(iOS Universal Link(通用链接))