什么是deeplink
deeplink又名移動端深度鏈接,是基于link協(xié)議將用戶從網頁(分享頁)指向到應用內指定頁面的方式,并且會添加是否安裝驗證,如未安裝則引導到下載頁,是比較好的引導用戶自增方式。一般國內較完善的應用均會添加,且大多是自己搭建,且與小程序做聯(lián)動。
什么是appsflyer
appsflyer是一家源于以色列,提供數(shù)據歸因統(tǒng)計的服務商,因為與多家平臺(包括facebook)有合作關系,所以做境外投放尤其是facebook投放時需要監(jiān)控下載活躍時會用到他家的服務。這里說的deeplink就是他們加封裝后的onelink。
接入原因
其實一開始接入deeplink我的計劃是自家搭建一套,但是運營表示他們計劃使用appsflyer進行數(shù)據監(jiān)控,而且appsfler提供比較完善的解決方案,接入成本較低故決定使用
接入準備
1、注冊賬號,創(chuàng)建應用,這時ios需要用到P12證書
2、埋入appsflyer的sdk,他們有提供測試方法驗證是否埋入成功
3、創(chuàng)建onelink,appsflyer的deeplink服務是基于在他們后臺配置的onelink進行統(tǒng)計的,這時ios需要App ID前綴
4、安卓及ios按照說明文檔添加過濾代碼(特別注意ios需要在Xcode添規(guī)定的協(xié)議)
5、根據appsflyer的參數(shù)規(guī)定在【自定義鏈接】中配置鏈接,并按照鏈接格式給你的分享頁添加該鏈接
注意事情
1、最后形成的鏈接都要經過url encode處理
2、把你想到具體定位到的頁面參數(shù)放到【af_dp】這個參數(shù)里即可,通過appsflyer的sdk,會自動解碼,客戶端就可以使用解碼后的鏈接定位到具體頁面了
3、af_dp這個參數(shù)里的鏈接是要帶有協(xié)議的如:【你的協(xié)議開頭(例如域名)://article?url=/CNT/15664895/news939964.html&newstype=1】
4、記得添加統(tǒng)計參數(shù)如【pid】和【c】,方便統(tǒng)計通過該deeplink點擊及安裝用戶數(shù)
5、如果你計劃直接將deeplink鏈接分享到facebook或ins內記得添加【af_web_dp】,此參數(shù)是給平臺方調起頁面預覽使用的
6、特別說明,appsflyer提供的URI Scheme方法、Universal Links方法、App Links方法最后體現(xiàn)在連接上是一種link的url,只是通過鏈接調起后應用的處理方法不一致,是可以兼容的,千萬不要當成不同的鏈接
不足之處
1、ios系統(tǒng)-facebook-未安裝應用情況下,用戶點擊或通過window.location.hre自動調起deeplink鏈接會出現(xiàn)兩次【此頁面試圖打開facebook以外的應用,是否打開?】彈窗
關于這個問題郵件appsflyer官方,得到的回復是
因為Facebook檢測到此鏈接為Universal Link并試圖使系統(tǒng)打開對映的app,但因為用戶尚未安裝app導致deeplink失敗,AppsFlyer服務器發(fā)出二次請求打開App Store商店。這個問題也是因為在Universal Link調起app前必須先經過Facebook的in-app瀏覽器的篩檢所導致。Facebook及相似的渠道Instagram或Snapchat等,對于用戶自行發(fā)布的deeplink其限制及審核較為嚴格,若希望有更好的用戶體驗您可以考慮直接投放Facebook AD campaign。
2、appsflyer提供特定頁面配置后生成deeplink的短鏈接服務,但是將短鏈接分享到whatsapp內后會存在問題
安卓系統(tǒng)-已安裝應用,在whatsapp內打開短鏈接,如果選擇應用打開會無法調起到應用打開,且應用會卡死
ios系統(tǒng)-已安裝應用,在whatsapp內打開短鏈接,無法調起鏈接內包含的指定頁面
通過其他如line、facebook中打開短鏈接均無該問題,推測是whatsapp處理deeplink的短鏈接時,直接根據鏈接域名喚起app,而不是通過短鏈接調起長連接后再調起應用
因為后續(xù)決定不使用短鏈接服務,沒有深究
3、ios系統(tǒng)-未安裝應用-faceook內調起deeplink鏈接,會出現(xiàn)默認的引導下載頁,但是該頁面的樣式無法定制
4、如果給分享頁添加通過window.location.hre自動調起的appsflyer的deeplink,如用戶未安裝應用則直接到下載頁。無法做到用戶訪問頁面后已安裝應用默認調起應用,如果未安裝應用給到點擊去下載應用的流程
5、appsflyer的官方說明文檔可讀性非常差,而且沒有示例的demo,只能通過文檔不斷閱讀并推測正確使用方法,溝通方式也只能通過右下角的對話框或者郵件溝通,且回復較慢
總結
如果不是為了統(tǒng)計其實個人覺得還是使用自己構建的deeplink比較合適,另外建議將appsflyer的deeplink和自己構建的link一起使用比較合適。
用戶訪問分享頁的html時默認通過window.location.hre自動調起一次自己定義的協(xié)議,然后給到【點擊下載應用】的提示。
在facebook中通過自定義的協(xié)議調起應用,如果調起不到會給到【無法調起專頁】提示,不會給用戶過多打擾。