最近公司項(xiàng)目要求在web網(wǎng)頁端引導(dǎo)用戶打開native APP
這個(gè)需求也很簡單,相信我們大多數(shù)人的做法都是和web端商議观挎,確認(rèn)一個(gè)特殊的字符串萨赁,我們稱之為scheme河爹。我們在APP端設(shè)置好scheme奖磁,web端遇到想要打開APP的時(shí)候,只需要打開一個(gè)這樣scheme://的url霞赫,我們也可以在//后面?zhèn)鬟f參數(shù)球拦,只需要在AppDelete的代理中做相應(yīng)的處理即可。
scheme的設(shè)置方法如圖所示
Apple 在iOS9 時(shí)候?qū)cheme 拉起應(yīng)用做了一定的限制续搀,有時(shí)會遇到不能拉起APP的情況塞琼。
在使用scheme打開其他APP時(shí)候,iOS9以上適配時(shí)候禁舷,記得在info.plist里面設(shè)置白名單
白名單設(shè)置方法參考
http://blog.csdn.net/xiaoxiaobukuang/article/details/51062963
iOS9 也給我們提供了一個(gè)新的拉起方式---通用鏈接
通用鏈接-服務(wù)端的配置
- 我們需要創(chuàng)建一個(gè)json 格式的文件彪杉,文件名為 apple-app-site-association ,不要有后綴名
- 將json 文件放在我們服務(wù)器的根目錄或者.well-know的子目錄下
- json 里面的AppID 由teamID + bundIeID組成
- paths 代表URL部分路徑牵咙,只有在 域名+paths 路徑符合時(shí)候才會拉起APP派近,* 則代表不管路徑,只要域名符合都會打開
- json 文件只會在第一次安裝時(shí)候下載洁桌,不會隨服務(wù)器更改而自動更新
Apple官方提供了專門檢測工具渴丸,您可以通過https://search.developer.apple.com/appsearch-validation-tool/ 進(jìn)行檢測
您可以通過是用 https://www.pinterest.com/ 查看正確返回結(jié)果樣式
{
"applinks": {
"apps": [],
"details": [
{
"appID": "***********.com.abc.def",
"paths": [ "/sdk/news/details", "/videos/detail/8484339/" ]
},
{
"appID": "###########.com.abc.def",
"paths": [ "*" ]
}
]
}
}
附查看teamID的方法,需要打開 蘋果開發(fā)者中心后臺 https://developer.apple.com/
通用鏈接- 客戶端的配置
- 在我們項(xiàng)目的 target 里面選擇Capabilities ,打開Associated Domains 谱轨,注意添加域名的格式戒幔,前邊要加applinks:
- 在XCode 中AppDelegate 中添加代碼支持
如何檢測是否設(shè)置成功
1.您可以將支持的鏈接拷貝在備忘錄中,長按如果有“在APP 中打開” 土童,即說明設(shè)置成功
2.在Safari 中進(jìn)行驗(yàn)證诗茎,輸入支持的鏈接,滑動Safari 會有彈窗顯示献汗,是否在APP中打開
*** 第一次寫這么多敢订,文筆有點(diǎn)差勁,請大家多多見諒罢吃,有寫的不周到的地方楚午,請大家不吝指教 ***