動態

詳情 返回 返回

得物前端喚端業務場景和技術精講 - 動態 詳情

前言

        當你在刷朋友圈時突然看到一個潮鞋廣告,正是你非常喜歡、一直想買的那款而且價格美麗,於是你興奮地點擊廣告直接打開了購物App,並且直接進入剛剛看到的潮鞋詳情頁,你只需要直接點擊購買就能得到這雙你期待已久潮鞋,這流程如絲般順滑!

        你正在瘋狂追的愛豆在微博發了一款聯名潮玩內容,還是獨家發售,貼文中就有網頁鏈接,你點擊後直接打開購物平台進入了與愛豆聯名同款的潮玩詳情頁,迫不及待的下單擁有一款時尚的潮玩!

       今天要和大家分享的是得物喚端技術,關於喚端網上已經有很多優秀的文章了,這裏不會復讀機式的把URL Scheme協議、Universal Link協議等再一遍遍嘮叨了,這樣可能你也會覺得毫無新意。

喚端分類

圖片

1. 剪切板式還原

場景1:

        每當大促時節,由於線上廣告載體平台大量封禁鏈接,導致電商平台只能採用發送文本的方式邀請親朋好友給自己助力或者分享好物。其他用户複製整條信息,打開得物App,客户端檢測到剪切板中有特定信息的內容,就能打開特定的頁面。我們把這種方式稱為剪切板式還原。

圖片

場景2:

        除了轉發給好友通過複製內容還原,還有一個場景也同樣可以用到剪切板,那就是新用户拉新!當你在某個第三方投放了一個拉新活動,用户點擊下載App時,會遇到第三方平台屏蔽URL Scheme和Universal Link的情況,那麼此時你既不能打開應用市場也不能打開得物App,我們難道就只能眼睜睜的流失大量的潛在新用户嗎?此時,剪切板還原不失為一個備選方案。可以提示用户點擊按鈕複製還原文案到剪切板,然後讓用户手動去應用市場下載得物App,那麼當用户下載完成後打開App,也可以實現場景還原的效果,只是鏈路變長了,體驗感不太友好,不過有路走總比無計可施要好得多👀。

2. 鏈接式還原

        當用户在站外點擊鏈接加載h5頁面,如果已經安裝了得物App,那麼可以直接打開得物App並且還原用户在站外關聯商品詳情頁或者列表頁等,我們也都知道實現此功能使用的無非就是通過Url Scheme(通用)、Universal Link(iOS>=9專屬)、Chrome Intent(在Android系統中的Chrome >= 25瀏覽器中使用)、APP Links(Android版的Universal Link)等特殊鏈接傳參實現,這裏就不對URL Scheme、Universal Link展開贅述了,因為這些協議是網上羅列最全最詳細的方案,我把這類喚端分類為鏈接式還原

3. 服務端輔助式還原

        如果是新用户,則沒有下載過得物App,那麼他就只能先去應用市場下載了後再打開,我們先假設下載APP沒有使用到APP Links以及Chrome Intent技術,那麼當用户下載完成以後打開得物App時,也能還原到站外相關頁面。分明用户從站外跳轉到應用市場或者Android系統直接下載安裝包,到用户打開得物App,這條鏈路已經斷了呀,得物App是怎麼知道需要還原到某個特定頁面的呢?答案是服務端輔助式還原!

        在用户跳轉到應用市場或者直接下載安裝包前,前端通過接口把用户的設備指紋以及需要打開得物App時還原的頁面參數傳給服務端,當用户打開剛下載的應用時,客户端通過調接口也傳相應的設備指紋給服務端,接口通過一系列的跨端設備指紋判斷到是同一用户,下發給客户端新用户就可以跳轉到在站外看到的相關頁面。

實踐問題

按照上一段的三個分類分別評價三種方式的優劣。

剪切板式還原

優點:

  • 應用還原場景比較廣泛,不管是在從站外召回老用户,還是拉新下載打開得物 App 都可以在站內直接還原場景。
  • 兼容性強,剪切板無需區分iOS和Android或者其它系統,在跨端場景中都可以使用。

缺點:

  • 數據容易丟失。剪切板中的內容很容易被手機內的其它 App 污染或者清空。
  • 無喚端能力。用户需要複製粘貼,然後再手動打開得物 App 才能夠還原場景。

鏈接式還原

優點:

  • 相應時間極速,場景還原流程如絲般順滑。用户在站外點擊鏈接就可直接打開得物App場景還原,減少了用户的操作流程,才能最大程度的留住潛在用户。

缺點:

  • 兼容性太差。

a.由於各流量平台經常會封禁鏈接式還原的技術,導致在非商業環境中不能正常的實現喚端,更不用説還原了。

b. 不同系統、不同版本對於鏈接跳轉的方式也有差異。如Universal Link不支持iframe形式觸發,不支持自動觸發等。

服務端輔助式還原

優點:

兼容性較強。無需區分iOS和Android或者其它系統,在跨端場景中都可以使用。\

缺點:

  • 無喚端能力,需要手動打開 App。
  • 跨端設備指紋的準確性非常考驗技術團隊的以往經驗及能力。由於通過js直接獲取到的站外瀏覽器信息有限,所以還需要通過其它途徑儘可能多的採集數據,不斷積累優化才能生成一個準確性高的設備指紋,團隊的相關經驗和能力決定着設備指紋的衝突率高低。

關鍵埋點

        有了以上技術原理,通過觀察一些關鍵埋點,可以更好的及時優化流程,各種方式的喚端或還原的成功率是最重要的指標。對於拉新,我們更關注的是喚端率,而對於召回,我們更關注的是召回率

  • 站外前端觸發喚端事件的同時上報觸發事件埋點
  • App打開檢查到有場景還原鏈接時上報埋點
  • 打開 WebView 時再次上報埋點
  • 成功還原會場後上報一個埋點

        通過這樣四個埋點形成一個漏斗,統計這四個埋點可得出喚端在哪一步流失率最大,進而有針對性的給出相應策略。

神奇的設備指紋

        對於剪切板和鏈接式作為前端開發應該都不陌生,即使作為普通的用户對剪切板式的還原也已經非常熟悉了。服務端輔助式還原,則因為“缺少”必要的完整鏈路居然可以進行還原有時會讓我們覺得有些“神奇”。

        手機中有一個M App很久沒使用了,也許是因為手機內存羞澀導致手機有點卡,又或許是你不想看到應用商場一直提示你升級M,所以你乾脆直接卸載了它。過了一段時間突然又需要用到M App,你又去應用商城下載安裝回來。神奇的是,M App沒有讓你輸入賬號、驗證碼/密碼,居然直接登錄了你卸載前的賬號。更神奇的是,你新安裝的同屬於M家的App,居然也默認登錄了你的賬號!

        上面這個例子在原生App中非常容易做到,因為客户端可拿到設備中的許多信息,從而根據一定的算法生成唯一的設備指紋,再把賬號與設備指紋綁定即可,你的這台設備就成了一個穩定賬號,所以不用再繁瑣的輸入賬户、驗證碼/密碼了。

得物喚端技術現狀以及未來展望        

        得物發展初期考慮到複雜的URL Scheme兼容性問題,選擇了第三方SDK接入,能力僅限於以上提到的鏈接式還原,當新用户下載得物打開App時並不能進行場景還原,降低了新用户的體驗感。同時遇到針對性的媒體喚端兼容性問題時,還需要跟第三方溝通,增加了解決問題的鏈路時間,也需要我們的開發人員花費大量時間成本去配合定位、解決問題。

        面對得物App現在日益增長的投放業務需求,我們對喚端成功率有了更高的追求,也明顯感覺到第三方的解決方案越來越吃緊,於是我們也開始逐步搭建自己的喚端技術平台,通過不斷積累經驗、學習別人優秀的喚端方案,期待努力早日完成得物自研喚端平台能力。

        未來得物的喚端除了會支持URL Scheme、Universal Link常見的技術外,還會包括以上提到的剪切板、服務端輔助式還原。其中服務端輔助還原的難點就是跨端指紋,這也是我們正在攻克的主要技術難點,打通全部喚端還原場景!

總結

        喚端原理其實很簡單,在實際場景中的情況卻很複雜,排除微信、微博等媒體平台對URL Scheme、Universal Link協議的控制,不同瀏覽器對協議的響應也可能會有差別,iOS、Android、HarmonyOS系統對協議也有着不同的兼容性問題。比如説在使用URL Scheme時,是使用a標籤、還是iframe、還是location都需要根據環境去選擇。喚端技術沒有十全十美的解決方案,只能根據業務需求去選擇一個最優方案。

文/SUWENKANG

關注得物技術,做最潮技術人!

user avatar u_16756731 頭像 u_15214399 頭像 shumile_5f6954c414184 頭像 xiao2 頭像 best-doraemon 頭像 boxuegu 頭像 linong 頭像 codepencil 頭像 liudamao 頭像 wisdomqq 頭像 lishisan 頭像 ftkj_2018 頭像
點贊 32 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.