使用Nginx 響應Json 報文的方式爲IOS APP提供 Apple App Site Association Universal Links (通用連接)查詢功能

問題概述:

開發的項目中IOS客戶端早期是通過短連接跳轉safari中介頁面的方式實現喚醒APP,這種方式需要中介網頁通過JS 延時執行的方式判斷 系統是否安裝了APP。

目前微信對Scheme 打開外部應用做了限制。IOS 要做到從微信直接打開APP 需要使用到 Universal Links 。IOS app 第一次啓動時,系統默認從支持HTTPS的註冊域名下獲取 apple-app-site-association 文件Universal Links內容(https://xxx.com/apple-app-site-association,https://xxx.com/.well-known/apple-app-site-association)。

apple-app-site-association  文件內容格式:

{
	"applinks": {
		"apps": [],
		"details": [{
			"appID": "appID.com.xxxx",
			"paths": ["/app/*", "/"]
		}, {
			"appID": "appID.com.xxxx",
			"paths": ["/app/*", "/"]
		}]
	}
}

服務端通過反向代理服務器Nginx  直接響應靜態字符串的方式 向IOS客戶端 提供  apple-app-site-association查詢功能,這種方式既可以避免因系統升級造成apple-app-site-association 查詢不可用,也可以提升請求響應速度減輕後端 web 服務器不必要的壓力。

具體配置方式:在nginx 配置文件 server 節點下新增 兩個location 配置:

location /apple-app-site-association {

charset UTF-8;

default_type text/html;

return 200 '{\"applinks\":{\"apps\":[],\"details\":[{\"appID\":\"appID.com.xxxx\",\"paths\":[\"/app/*\",\"/\"]},{\"appID\":\"appID.com.xxxx\",\"paths\":[\"/app/*\",\"/\"]}]}}';

}

location /.well-known/apple-app-site-association {

charset UTF-8;

default_type text/html;

return 200 '{\"applinks\":{\"apps\":[],\"details\":[{\"appID\":\"appID.com.xxxx\",\"paths\":[\"/app/*\",\"/\"]},{\"appID\":\"appID.com.xxxx\",\"paths\":[\"/app/*\",\"/\"]}]}}';

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章