iOS中接入Universal Links注意点

在项目中接入Universal Links,顺便记录一下使用方法。
有用的话,不妨帮我点个赞。
谢谢~

App配置规则

1. App ID中添加Associated Domains

Paste_Image.png

2. App中在Target->Capabilities->Associated Domains中,开启Associated Domains功能

3. 添加applinks入口

iOS中接入Universal Links注意点_第1张图片
Paste_Image.png
  1. applinks:打头,如applinks:gxq168.com

    • 是否添加www是有区别的
    • 添加applinks:www.gxq168.com后,才能支持www.gxq168.com/*的入口,二级域名也一样
  2. 添加二级域名入口

    • appweb.gxq168.com
  3. 可以通过*号通配一个域名的所有域名入口

    • *.gxq168.com,通配appweb.gxq168.com,www.gxq168.com
    • *.gxq168.com不能通配gxq168.com因为*号的级别不同
    • *通配applinks入口匹配时,优先适配最长的一个applinks入口,如open.user.gxq168.com是通过*.user.gxq168.com,*.gxq168.com中,前者匹配到的
  4. 为URL配置apple-app-site-associationJSON文件

    • 每一个域名的根目录下都需要配置一个apple-app-site-associationJSON文件
    • 形如gxq168.comwww.gxq168.com可以共用一个JSON文件
    • *通配的链接可以共用URL的JSON文件
  5. 可以配置20个左右,官方文档中Limit this list to no more than about 20 to 30 domains

服务端JSON配置规则

1. 服务器需要配置的json文件,

  1. 根域名配置apple-app-site-association命名的JSON文件,如: 通过www.domain.com/apple-app-site-association可以访问到该文件。检验URL是否有效
  2. 切记文件不加.json后缀

2. JSON文件解析

1. apps必须存,且为空数组
2. details为数组,可以通过添加多个字典结构适配多个App
  1. appID组成规则 8738YWRZYUApple开发者账号的Team ID, com.jinfuzi.gunxueqiuApp的Bundle ID

    Paste_Image.png

  2. paths为字符串组成的数组

    • /wwdc/news/ 标识一个特定的URL=> https://www.domain.com/wwdc/news 链接
    • /videos/wwdc/2015/*通配部分URL=> https://www.domain.com/videos/wwdc/2015/*链接
    • /videos/wwdc/201?/*用?号通配一个单一的符号
    • NOT videos/wwdc/2016/* 从通配URL中排除/videos/wwdc/201?/*中,2016这个特定年份
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "8738YWRZYU.com.jinfuzi.gunxueqiu",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}

3. 通过Charles抓包查看App是否下载JSON文件

App在安装的时候会去下载applinks服务器上json文件,抓包显示如下


Paste_Image.png

ueep.app.link是branch提供的URL

另:

测试的时候可以通过branch提供Universal Link服务进行测试,省去服务器配置这个环节

附件

How to Set Up Universal Links to Deep Link on Apple iOS 9
Support Universal Links

你可能感兴趣的:(iOS中接入Universal Links注意点)