iOS 9 的新功能 universal links

來源:互聯網
上載者:User

標籤:

什麼是 universal links: (通用連結) 一種能夠方便的通過傳統 HTTP 連結來啟動 APP, 使用相同的網址開啟web page和 APP的方式。

第一點,連結開啟網址 顧名思義

第二點,連結開啟app, 通常 我們都會用 url scheme(schema)  就是 在info 中 可以配置幾個目標需求app的 一個 schema (關鍵key 唯一應用標識),然後使用 openUrl 方法開啟. 這裡用 連結開啟.  

原因: (1)schema 方式容易暴露使用者資料:如果有人拿到 schema 利用 AppDelegate 裡面 canOpenURL:方法  就可以知道 使用者手機裡面 都安裝了啥 ,  我也不知道  為什麼有這麼多人會取巧 用在了 外門邪道,當然 蘋果疾惡如仇 , 在iOS9裡面 對該策略有了限制,不能 用 跑代碼的方式來檢測 使用者APP安裝使用方式了 

        (2)schema 容易重複: 很可能 沒有交集的兩個Team Dev 取了相同的 url scheme 名字,然後 iPhone自己蒙圈了,到底該怎麼辦,然後手機default狀態 沒有任何處理 ,接著使用者就會不知道該幹啥: “我剛剛不是點了那個按鈕麼,這個手機卡住了還是怎麼著 沒反應呢”?

        (3)universal links 不僅僅能解決以上兩個問題 (沒錯 更安全 不怕資訊洩漏 有人再檢測 你手機app列表了, 網域名稱唯一了),而且 是上下文連結緊密的,你可以直接跳轉已經安裝的app或者 跳轉去下載這個應用 或者其他 的連結什麼的

服務端操作:         

這個 universal links 需要服務端的小夥伴 幫忙處理一下,註冊一個網域名稱,比如http://xxxx.com 作為我們的universal link.

(1)首先需要購買SSL認證,為了 使用 SSL通過 get 請求訪問到訪問網域名稱(以及下面的JSON)

(2)然後配置一些服務

“支援上傳一個 JSON 檔案到你的網域名稱” :這個需要在伺服器的根目錄下面,添加檔案名稱為apple-app-site-association(沒有尾碼)的一個檔案,然後在裡面添加上如下的內容:

{    "applinks": {        "apps": [],        "details": [            {                "appID": "XXXXXXXX",                "paths": [                    "/videos/\*"                ]            }        ]    }}

關鍵 是 appId  是 開發人員帳號的 teamId 和 app的bundleId 拼成的 例如:

teamId +  “.” + bundleId  拼字成的字串

客戶前端操作:

註冊你的App,使其能夠處理universal links

需要在 Xcode 的 capabilities 裡 添加你的 app 網域名稱, 必須使用 “applinks:”作為首碼還添加一些你可能擁有的子域和擴充(www.xxxx.com, tests.xxxx.com 等等)。

 

然後就可以用 目標連結 放在 safari 裡 測試 看看能不能跳轉應用 ,或者 去下載應用了.

有類似的第三方,使用整合的方式 ,不需要我們網域名稱的問題,只需要 提供 teamId, 然後為我們產生一個”短連結”,把這個連結 放在 或者  safari裡 就可以一鍵跳轉應用 或者提示去下載應用了.

然後 根據需求 是開啟頁面 還是怎麼的處理方法

 

因為 這個iOS9的新特性麼,,如果 你還要支援 相對比較低的版本 一定要有預判斷, 不然 會導致crash.  並且 很有可能 蘋果 不測試這種問題 ,你的應用就上線了,等使用者受影響了才反應過來.還得加急重新打包

都是血淚經驗: 我們項目 使用 iOS9 font 然後仍然有相當一部分 iOS7的使用者反饋 開啟就閃退.沒招  我們好多使用者都鐘情低版本 不願意升級. 然後 我們緊急 修複這個問題 重新上架.(蘋果 根本沒審核低版本系統好吧~)

備忘: 測試拿真機 ,  模擬器 不好使

iOS 9 的新功能 universal links

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.