元件中路由和埋點

山有木xi發表於2020-03-28

當我們瀏覽手機時,突然跳出一條資訊,點選跳轉到相應的APP頁面

當我們在瀏覽器搜尋資訊時,點選某個跳轉到相應APP的相應頁面

這就是路由

路由是實現頁面的跳轉,但是實際上原生的Android就已經可以實現頁面跳轉了,那為什麼我們還要是使用路由呢?

在Android原生的頁面跳轉,無非就是隱式顯式intent,那麼就會帶來幾個問題

  • 顯示Intent:專案龐大以後,耦合太大,不適合元件化拆分

  • 隱式Intent:協作困難

  • 無法動態修改路由,如果頁面出錯,無法動態降級

  • 無法動態攔截跳轉,例如:在一個購物APP下,未登入的情況,開啟一個頁面,然後登入,登入成功後接著開啟剛才開啟的頁面

在元件化中,各個業務模組之間是各自獨立的, 並不會存在相互依賴的關係, 所以一個業務模組是訪問不了其他業務模組的程式碼的, 如果想從 A 業務模組的 A 頁面跳轉到 B 業務模組的 B 頁面, 光靠模組自身是不能實現的,這就需要一種跨元件通訊方案—— 路由(Router),路由是 根據路由表將頁面請求分發到指定頁面

其原理在於將分佈在不同元件module中的某些類按照一定規則生成對映表(資料結構通常是Map,Key為一個字串,Value為類或物件),然後在需要用到的時候從對映表中根據字串從對映表中取出類或物件,本質上是類的查詢

埋點則是在應用中特定的流程收集一些資訊,用來跟蹤應用使用的狀況

程式碼埋點:在某個事件發生時呼叫SDK裡面相應的介面傳送埋點資料,百度統計、友盟、TalkingData、Sensors Analytics等第三方資料統計服務商大都採用這種方案

全埋點:全埋點指的是將Web頁面/App內產生的所有的、滿足某個條件的行為,全部上報到後臺伺服器

視覺化埋點:透過視覺化工具(例如Mixpanel)配置採集節點,在Android端自動解析配置並上報埋點資料,從而實現所謂的自動埋點

無埋點:它並不是真正的不需要埋點,而是Android端自動採集全部事件並上報埋點資料,在後端資料計算時過濾出有用資料


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2683081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章