mPaaSH5離線包解決了哪些問題:
- 傳統(tǒng)的 H5 技術(shù)容易受到網(wǎng)絡(luò)環(huán)境影響翎苫,因而降低 H5 頁面的性能旺聚。通過使用離線包沈贝,可以解決該問題。(因為是加載本地資源)
- 用戶無感熱更新踩晶。
渲染過程
- 當 H5 容器發(fā)出資源請求時执泰,其訪問本地資源或線上資源所使用的 URL 是一致的。
H5 容器會先截獲該請求渡蜻,截獲請求后坦胶,發(fā)生如下情況:
- 如果本地有資源可以滿足該請求的話,H5 容器會使用本地資源。
- 如果沒有可以滿足請求的本地資源顿苇,H5 容器會使用線上資源。
- 因此税弃,無論資源是在本地或者是線上纪岁,WebView 都是無感知的。
離線包的下載取決于創(chuàng)建離線包時的配置:
- 如果 下載時機 配置為 僅 WiFi则果,則只有在 WiFi 網(wǎng)絡(luò)時會在后臺自動下載離線包幔翰。
- 如果 下載時機 配置為 所有網(wǎng)絡(luò)都下載,則在非 WiFi 網(wǎng)絡(luò)時會消耗用戶流量自動下載西壮,慎用遗增。
- 如果當前用戶點擊 APP 時,離線包尚未下載完畢款青,則會跳轉(zhuǎn)至 fallback 地址做修,顯示在線頁面。
-
fallback 技術(shù)用于應(yīng)對離線包未下載完畢的場景抡草。每個離線包發(fā)布時饰及,都會同步在 CDN 發(fā)布一個對應(yīng)的線上版本,目錄結(jié)構(gòu)和離線包結(jié)構(gòu)一致康震。fallback 地址會隨離線包信息下發(fā)到本地燎含。在離線包未下載完畢的場景下,客戶端會攔截頁面請求腿短,轉(zhuǎn)向?qū)?yīng)的 CDN 地址屏箍,實現(xiàn)在線頁面和離線頁面隨時切換。
功能特性
灰度發(fā)布
在正式發(fā)布之前橘忱,可以通過白名單來做小規(guī)模發(fā)布
(比如內(nèi)部員工)以驗證新包的功能是否達到預(yù)期赴魁。還可以進行時間窗灰度發(fā)布,在規(guī)定的時間段內(nèi)發(fā)布給規(guī)定用戶人數(shù)鹦付。如果達到預(yù)期就可以進行全網(wǎng)推送尚粘。高級過濾
在進行灰度發(fā)布的時候還可以利用高級規(guī)則來定義更為精準的白名單人群,比如可以只發(fā)給小米手機的用戶敲长,多個過濾規(guī)則可以疊加郎嫁,只有在所有的過濾規(guī)則都符合的情況下才會推送。實時回滾
僅支持熱修復(fù)祈噪。即使進行了灰度發(fā)布泽铛,正式上線的時候還是難免會發(fā)生問題,這個時候就可以進行實時回滾辑鲤,自動回滾到發(fā)布前的版本盔腔。自定義驗簽
為了保障安全性,熱修復(fù)有自定義的驗簽流程,保證腳本來源的正確性弛随。 mPaaS 插件中提供生成熱修復(fù)資源包并對包進行加簽的功能瓢喉。