在項目中接入Universal Links,順便記錄一下使用方法。
有用的話,不妨幫我點個贊。
謝謝~
App配置規(guī)則
1. App ID中添加Associated Domains
Paste_Image.png
2. App中在Target->Capabilities->Associated Domains中,開啟Associated Domains功能
3. 添加applinks入口
Paste_Image.png
-
以
applinks:
打頭,如applinks:gxq168.com
- 是否添加
www
是有區(qū)別的 - 添加
applinks:www.gxq168.com
后,才能支持www.gxq168.com/*
的入口,二級域名也一樣
- 是否添加
-
添加二級域名入口
- 如
appweb.gxq168.com
- 如
-
可以通過
*
號通配一個域名的所有域名入口-
*.gxq168.com
,通配appweb.gxq168.com
,www.gxq168.com
等 -
*.gxq168.com
不能通配gxq168.com
因為*
號的級別不同 - 用
*
通配applinks入口匹配時,優(yōu)先適配最長的一個applinks入口,如open.user.gxq168.com是通過*.user.gxq168.com
,*.gxq168.com
中,前者匹配到的
-
-
為URL配置
apple-app-site-association
JSON文件- 每一個域名的根目錄下都需要配置一個
apple-app-site-association
JSON文件 - 形如
gxq168.com
、www.gxq168.com
可以共用一個JSON文件 -
*
通配的鏈接可以共用URL的JSON文件
- 每一個域名的根目錄下都需要配置一個
可以配置20個左右,官方文檔中
Limit this list to no more than about 20 to 30 domains
服務(wù)端JSON配置規(guī)則
1. 服務(wù)器需要配置的json文件,
- 根域名配置
apple-app-site-association
命名的JSON文件,如: 通過www.domain.com/apple-app-site-association可以訪問到該文件。檢驗URL是否有效 切記文件不加.json后綴
2. JSON文件解析
1. apps
必須存,且為空數(shù)組
2. details
為數(shù)組,可以通過添加多個字典結(jié)構(gòu)適配多個App
-
appID
組成規(guī)則8738YWRZYU
Apple開發(fā)者賬號的Team ID,com.jinfuzi.gunxueqiu
App的Bundle ID
Paste_Image.png -
paths
為字符串組成的數(shù)組-
/wwdc/news/
標(biāo)識一個特定的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服務(wù)器上json文件,抓包顯示如下
Paste_Image.png
ueep.app.link是branch提供的URL
另:
測試的時候可以通過branch提供Universal Link服務(wù)進行測試,省去服務(wù)器配置這個環(huán)節(jié)
附件
How to Set Up Universal Links to Deep Link on Apple iOS 9
Support Universal Links