Universal Links相关问题

Universal Links(通用链接),是苹果在iOS9之后,提供的一种“可通过传统HTTP链接来跳转APP”的能力。 该特性相较于传统的Custom URL Scheme方式,具备唯一、安全、私有和简单的优势
官方文档

1、apple-app-association文件配置

1.域名必须支持 HTTPS
2.文件路径,二选一(不带任何后缀):
- https:// {host} /apple-app-site-association
- https:// {host} /.well-known/apple-app-site-association
3.JSON 文件大小必须小于 128KB
4.该文件需要上传到主域名对应服务器的根目录

文件内容格式如下

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "xxx",
            "paths": ["/test_tika_app/*","/test_tiaka_userinfo/*"]
        }]
    }
}

"appID":内容为TeamID.bundleID(ex:7ABCDEFD.com.apple.wwdc),是唯一的
"paths"是一个字符串数组指定可以通过哪些Path跳转至app。这里设置了"/test_tika_app/*",外部可以通过"https://{host}/test_tika_app/xxx”跳转至我们app。


2、Xcode配置

1.证书需要开启Associated Domains功能
2.Xcode 配置Associated Domains 。 添加Domains ,格式为applinks:{host}

3、测试

可以通过Safari测试,在Safari输入地址https://{host}/test_tika_app/xxx 下滑可以显示横幅,点击可以打开app

通过Universal Link进入app时会触发代理方法
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
4、Universal Links基本运作流程
  1. APP第一次启动 or APP更新版本后第一次启动
  2. APP向工程里配置的域名发起Get请求拉取apple-app-association Json File
  3. APP将apple-app-association注册给系统
  4. 由任意webview发起跳转的url,如果匹配了apple-app-association注册过的通用链接(path字段配置)
  5. 打开App,触发Universal Link delegate
  6. 没匹配,webview继续跳转url(当普通的url跳转)

你可能感兴趣的:(Universal Links相关问题)