• 技術干貨 | 應用上線前的“體檢”,你知道需要檢測哪些指標嗎?

    /2021-04-23 17:17:05/

  • ?°?é?¢???0416.jpg

    隨著越來越多的企業基于 mPaaS 搭建并上線新的 App,App 的上線質量也成為各個客戶關注的重點。上線前檢測哪些項目?如何檢測?檢測數據指標包括哪些?


    借著上次去 XX 農信客戶去做線上功能檢測,加上之前多個 mPaaS 歷史項目的經驗總結,將 App 上線前 mPaaS 相關檢測內容整理沉淀如下。



    一、安全性

    1.1 RPC 是否開啟國密加密

    對 App 來說,數據通信安全至關重要,mPaaS 已經支持 ECC、RSA 和國密(SM2)三種方式。其中,在金融行業 App 內建議開啟加密配置為 SM2 國密加密,滿足行業監管要求。


    1.2 離線包是否開啟驗簽

    1.png


    為了保證下發到本地離線包的安全性,mPaaS 提供了離線包驗簽機制,保證了離線包的安全性。整體示意圖如上所示,用戶設置流程如下:

    1. 開發者配置好一對公私鑰,私鑰放在服務端用于對離線包簽名,公鑰放在客戶端,用于對簽名對驗證。
    2. 在離線包發布平臺,如果配置了簽名私鑰,平臺下發的 amr 文件就會帶上簽名信息(通過私鑰對離線包的 hash 值加密后得到的密文)。
    3. 客戶端在拿到 amr 包并解壓后,客戶端會使用在項目中預置的公鑰進行簽名的驗證(解密上一步的密文得到一個 hash 值,同時本地計算離線包的 hash 值,判斷兩者是否相同),如果相同則通過驗證。
    4. 如果簽名校驗失敗,則刪除離線包走 fallback 地址。


    通過離線包的驗簽機制,可以達到以下的目的:

    1. 保證了離線包的內容完整,解決解壓異常,讀取異常下的正常顯示
    2. 保證了離線包的來源正確,不被本地惡意篡改


    1.3 userId 信息是否設置正確

    因為 userId 會被后續用到很多地方,比如推送,白名單。所以一般建議選擇服務端的 userId 字段作為存儲字段,方便后續和服務端做 userId 字段同步,不建議存儲個人手機號或者身份證等個人信息作為 userId。


    1.4 埋點信息是否包含敏感信息,比如交易單號

    考慮到埋點的量級很大,所以 mPaas 的埋點默認本地是沒有做數據加密的,所以埋點信息不建議包含敏感字段,防止由于埋點導致信息泄漏。敏感字段建議走 RPC 的數據通道上報,保證數據安全。如果有埋點埋敏感字段的訴求,需要主動開啟埋點的本地加密配置。


    1.5 隱私權限配置

    由于現在監管機構對隱私權限管控比較嚴格,mPaas 針對權限管控做了對應的接入方案。需要需要確保上線前隱私權限相關配置已經正常接入。



    二、穩定性

    2.1 驗證在 Android4.X 版本的是否可以正常使用

    mPaaS 最低支持 Android 4.3 版本以上,所以發布前需要驗證下低版本 Android 設備的可用性,遇到比較多的是在 Android 4.X 設備上由于多 dex 加載導致的類找不到導致的安裝閃退問題。


    2.2 iOS 符號表是否正常上傳

    發布前需要確保 iOS 的符號表已經上傳到 mPaaS 后臺,方便后臺反解閃退信息。


    2.3 熱修復模塊是否接入并且驗證通過

    發布前需要確保熱修復模塊的正常接入以及驗證通過,保證上線有針對 Native 模塊的熱修復能力,保證異常場景下的修復能力。


    2.4 離線包 Fallback 域名確認

    確認 Fallback 域名是否是外網可訪問的地址,遇到過發布后下發的還是內網地址的 case。


    2.5 離線包模塊接入 CDN

    上線前做好容量評估,默認 mPaaS 的離線包是存儲在 OSS 內的,但是一般建議針對離線包模塊接入 CDN,通過 CDN 的緩存功能解決因為離線包下載導致帶寬打滿的風險,同時相對于 OSS 存儲來說,CDN 的費用更低。接入示意圖如下:

    2.png


    2.6 RPC 核心鏈路接口壓測

    上線前需要對 App 核心鏈路的 RPC 接口做性能壓測,獲取接口性能瓶頸,可以用做后續的限流值的設定參考。同時需要針對 RPC 限流場景做演練,防止上線限流后客戶端出現各種異常。


    2.7 發布更新功能可用

    上線前需要驗證發布 apk 功能可用,包括發布更新的強制更新功能,保證在極端場景下,需要強制升級使用。



    三、性能體驗

    3.1 離線包離線功能是否正常生效

    確保離線包的離線功能正常使用,防止由于離線包各種配置問題導致離線功能不生效。


    3.2 UC 內核是否正常接入

    確保 UC 內核正確配置接入,主要解決系統 WebView 下的各種兼容性問題。同時 UC 提供了很好的穩定性,比系統 WebView 更穩定。


    3.3 核心鏈路離線包是否預制

    在發布前,需要預制核心鏈路離線包,保證核心鏈路在極端異常場景下仍然可以打開。



    宏思銳達是專業貴陽APP開發公司,擁有專業的本地項目團隊,歡迎您咨詢貴州宏思銳達


<
上一篇: 業務團隊如何統一架構設計風格? 下一篇: 最后一頁

Hi,互相認識一下

很高興遇見你,友誼往往從第一次握手開始, 微信聯系: 13765801787

传奇扑克直播