轉載請註明來源 http://www.cnblogs.com/hucn/p/5917924.html html
活躍人數是衡量app一項關鍵指標, dau, mau, 有了流量才能給業務發展提供營養和空間.android
app的流量一方面來自自身的留存, 一方面來自外部的供給, 而deeplink是外部引流的重要手段.ios
當有人分享一個商品給你, 發送一個連接到你的手機上, 你點擊連接後直接跳轉到app內對應的頁面.瀏覽器
當你從瀏覽器中使用百度搜索, 點擊一個搜索結果, 直接跳轉到你的app的指定頁面.安全
這些都是deeplink的使用場景, deeplink是從攔截外部請求到app內並定位到具體頁面的技術.app
上面提到了流量的重要性, 而deeplink可以將外部流量引導到app內, 並提供連貫的瀏覽體驗, 實在是引流的大殺器.dom
除此以外, deeplink還作高效的流量分發. 經過外部url的投放和內部攔截, 能夠針對不一樣場景直接分發流量到具體頁面, 將用戶直接引導到各個垂直頻道.測試
ios的appsearch和消息都在努力作, 培養用戶, 雖然目前使用量不大, 但的確是比入口堆疊更有效的流量分發方式.google
deeplink分兩種, 一種是用戶已經安裝了你的應用, 直接作連接攔截和跳轉. 另外一種是用戶沒有安裝, 須要下載安裝, 安裝完成後再跳轉到具體頁面(reserved deeplink). 這兩種都有不一樣的方案和對應的難點.url
已經安裝app的應用, ios8如下可使用URLSchema作url攔截. Android上applink能夠解決跳轉的問題. 而iOS9以上提供的universal link方案把體驗作到了極致, 無需彈窗提示, 直接攔截跳轉. 下面重點看看universal link如何作.
建議先看下官方文檔
apple爲了體驗和安全, universal link流程略複雜. 如官方文檔提到, 須要在要攔截的http連接根路徑下(或者.well-known下)提供一個apple-app-site-association文件, 文件描述了對域名的攔截規則, 格式能夠參照google的https://google.com/apple-app-site-association. 這裏有幾點須要特別注意!
接着須要在app的com.apple.developer.associated-domains文件中添加攔截的域名, 例如.
applinks:map.google.com
最後在UIApplicationDelegate中實現 application:continueUserActivity:restorationHandler: 方法, 完成跳轉而且 return YES .參照API文檔
若是你照着上面作universal link就生效了, 那麼恭喜你, 能夠略過這段.
universal link的缺點是—-鏈路太長, 很差調試. 筆者本着業界良心, 分享下以前解決universal link不生效的小技巧.
相信完成了applink, 可以大幅提高app流量和產品體驗. 下回看看如何用戶沒下載app時如何在安裝完再跳轉到具體頁面.(reserved deeplink). 以及如何把這些技術串起來, 作到完美的體驗.