火山引擎 veMARS x 今日頭條極速版 |插件化改造減少包體積,提升 APP 下載率

今日頭條極速版安卓端 App 使用火山引擎移動研發平臺 veMARS 插件服務後,在不影響功能完整度和體驗流暢的狀況下,將常規優化後達 120M+的包體積降到了 13M 左右,最小版本降至 4M,包體積縮小至原先的 3.33%。經過包體積縮小,大幅提高了 App 的下載率。小程序

包體積大小已成影響 App 增加率的關鍵因素\markdown

移動 App 特別關注投放轉化率指標,而 App 包體積是影響用戶新增的重要因素,而 App 的包體積又是影響投放轉化率的重要因素。Google 2016 年公佈的研究報告顯示,包體積每上升 6MB 就會帶來下載轉化率下降 1%,當包體積增大到 100MB 時就會有斷崖式的下跌。如今流量雖然變得更廉價一點,可是用戶的心理是不會變的,當 App 出如今應用市場的相同位置時,包體積越大,用戶下載意願可能越低。今日頭條是一個通用信息平臺,致力於鏈接人與信息,讓優質豐富的信息獲得高效精準的分發,促使信息創造價值。目前擁有推薦引擎、搜索引擎、關注訂閱和內容運營等多種分發方式,囊括圖文、視頻、問答、微頭條、專欄、小說、直播、音頻和小程序等多種內容題材。而今日頭條極速版是今日頭條的輕量版本,在今日頭條極速版包體積與轉化率實驗中也顯示投放轉換率隨包體積的減少有明顯的增加。所以追求極致的包體積是今日頭條極速版的一個重要產品特性。使用插件化解決方案,能夠不將業務打包進 APK,而是經過插件動態下發的方式實現 App 功能,是顯著減少包體積的優秀方案。圖片網絡

火山引擎移動研發平臺 veMARS 插件服務助力今日頭條減少包體積框架

火山引擎移動研發平臺 veMARS 是終端技術團隊基於字節跳動過去九年在抖音、今日頭條、西瓜視頻、飛書、懂車帝等 App 研發中的實踐成果,沉澱並在火山引擎開放。致力於爲開發者提供移動開發解決方案,幫助企業降本增效,打造高質量、高性能的優質 App 體驗。veMARS 插件服務包括插件核心庫、插件管理庫、插件構建腳本、插件管理平臺 4 個功能模塊,是一套完整的插件閉環服務 。具備功能全面、穩定性強、使用簡單等特色。幫助企業實現業務熱更新、下降首包體積、節省流量、模塊化開發。圖片今日頭條極速版安卓端 App 使用火山引擎 veMARS 插件服務後,在不影響體驗功能完整度和體驗流暢的狀況下,將常規優化後達 120M+ 的包體積降到了 13M 左右,最小版本降至 4M,包體積縮小至原先 3.33%,極大的提高下載率和用戶增加率。模塊化

veMARS 插件服務包體積優化方案oop

1.插件框架選擇性能

今日頭條極速版對插件框架有如下要求:優化

  • 改造插件成本低: 今日頭條極速版大部分業務都要改形成插件,若是改造插件成本高,改造和維護成本是巨大的;
  • 穩定性&兼容性高: 今日頭條極速版用戶量大,幾乎覆蓋全部機型,每一個穩定性或兼容問題都會被放大;

而火山引擎 veMARS 插件服務完美知足以上需求:宿主業務 module 改形成插件一般只需幾行配置(插件與宿主原生方式互調),且 veMARS 插件服務在字節內部通過大規模使用驗證。 基於以上要求,今日頭條極速版最終選擇了火山引擎veMARS插件服務做爲其減包體積的解決方案。2.插件改造方案: 接下來就是結合插件玩法對宿主的業務進行插件改造,火山引擎 veMARS 插件服務一般有下面三種玩法:搜索引擎

  1. 啓動下載插件 :App 啓動時從雲端下載,適用於非核心場景業務、新業務、加強功能(App 啓動後用戶不須要當即使用的能力,例如自研播放器在沒有就緒前可以使用系統播放器)
  2. 按需下載插件:用戶使用時從雲端下載,適用於低命中業務(只有不多用戶使用的功能,例如直播開播端只有主播纔會用到)
  3. 內置插件:內置到宿主 App 中,適用於核心業務場景且有熱更新需求的業務

今日頭條極速版將業務進行分類並配置成對應插件:spa

  • 加強功能:自研播放器、自研網絡庫等
  • 次級業務:掃一掃、小程序、Flutter、各種直播等
  • 低命中業務:長視頻、投屏等

通過插件改造後共有38個插件,雲端下發總包體積110M,最終實現減包體積100M+ 。

火山引擎移動研發平臺 veMARS 插件服務持續迭代,助力 App 開發降本增效

除今日頭條極速版外,今日頭條主版也經過 veMARS 插件服務方案取得了較大的包體積收益。目前火山引擎 veMARS 插件服務已被數十個 App 使用,包括抖音、頭條等超級 App。 

除了減包體積方案外,火山引擎 veMARS 插件服務還有不少其餘應用場景:

  1. 業務熱更新:通常新業務對修復問題和業務迭代頻率有較高的要求,使用 veMARS 插件服務能夠進行及時發版;
  2. 節省 CDN 流量:有些業務並不會跟隨每一個宿主版本都有更新,使用 veMARS 插件服務可讓新版本宿主繼續使用老版本插件,用戶只下載宿主和有更新的插件,例如自研播放器等穩定更新頻率較低的業務;
  3. 提高研發效率:改形成 veMARS 插件的業務打包時無需構建宿主只需構建插件,顯著提高研發時的打包速度從而提高研發效率;

目前,火山引擎移動研發平臺 veMARS 插件服務已經對外部開發者開放,提供從 SDK 到平臺的完整閉環服務,歡迎你們使用體驗。

MARS TALK | 01

今日頭條極速版插件化實踐分享

圖片8月26日(週四)晚八點,咱們邀請 veMARS 插件方向負責人董洪辰和今日頭條開發工程師紀瑋,作客 MARS TALK 第一期,分享今日頭條極速版基於 veMARS 插件化實現包體積縮小的技術細節。本次活動採用線上直播的模式,歡迎你們掃碼報名參加 🎉

相關文章
相關標籤/搜索