使用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  文件內容格式:

  1.  
    {
  2.  
    "applinks": {
  3.  
    "apps": [],
  4.  
    "details": [{
  5.  
    "appID": "appID.com.xxxx",
  6.  
    "paths": ["/app/*", "/"]
  7.  
    }, {
  8.  
    "appID": "appID.com.xxxx",
  9.  
    "paths": ["/app/*", "/"]
  10.  
    }]
  11.  
    }
  12.  
    }

服務端通過反向代理服務器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\":\"428Q4HJB4N.com.sycm.dongwang\",\"paths\":[\"*\"]}]}}';

}

location /usr/local/iosLink/apple-app-site-association {

charset UTF-8;

default_type text/html;

return 200 '{\"applinks\":{\"apps\":[],\"details\":[{\"appID\":\"428Q4HJB4N.com.sycm.dongwang\",\"paths\":[\"*\"]}]}}';

}

 相關博客:https://www.jianshu.com/p/3936287bccdd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM