得物前端喚端業務場景和技術精講

得物技術發表於2022-06-16

前言

        當你在刷朋友圈時突然看到一個潮鞋廣告,正是你非常喜歡、一直想買的那款而且價格美麗,於是你興奮地點選廣告直接開啟了購物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

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

相關文章