-
技術(shù)干貨 | 應(yīng)用上線前的“體檢”,你知道需要檢測哪些指標(biāo)嗎?
/2021-04-23 17:17:05/
-
隨著越來越多的企業(yè)基于 mPaaS 搭建并上線新的 App,App 的上線質(zhì)量也成為各個客戶關(guān)注的重點。上線前檢測哪些項目?如何檢測?檢測數(shù)據(jù)指標(biāo)包括哪些?
借著上次去 XX 農(nóng)信客戶去做線上功能檢測,加上之前多個 mPaaS 歷史項目的經(jīng)驗總結(jié),將 App 上線前 mPaaS 相關(guān)檢測內(nèi)容整理沉淀如下。
一、安全性
1.1 RPC 是否開啟國密加密
對 App 來說,數(shù)據(jù)通信安全至關(guān)重要,mPaaS 已經(jīng)支持 ECC、RSA 和國密(SM2)三種方式。其中,在金融行業(yè) App 內(nèi)建議開啟加密配置為 SM2 國密加密,滿足行業(yè)監(jiān)管要求。
1.2 離線包是否開啟驗簽
為了保證下發(fā)到本地離線包的安全性,mPaaS 提供了離線包驗簽機(jī)制,保證了離線包的安全性。整體示意圖如上所示,用戶設(shè)置流程如下:
- 開發(fā)者配置好一對公私鑰,私鑰放在服務(wù)端用于對離線包簽名,公鑰放在客戶端,用于對簽名對驗證。
- 在離線包發(fā)布平臺,如果配置了簽名私鑰,平臺下發(fā)的 amr 文件就會帶上簽名信息(通過私鑰對離線包的 hash 值加密后得到的密文)。
- 客戶端在拿到 amr 包并解壓后,客戶端會使用在項目中預(yù)置的公鑰進(jìn)行簽名的驗證(解密上一步的密文得到一個 hash 值,同時本地計算離線包的 hash 值,判斷兩者是否相同),如果相同則通過驗證。
- 如果簽名校驗失敗,則刪除離線包走 fallback 地址。
通過離線包的驗簽機(jī)制,可以達(dá)到以下的目的:
- 保證了離線包的內(nèi)容完整,解決解壓異常,讀取異常下的正常顯示
- 保證了離線包的來源正確,不被本地惡意篡改
1.3 userId 信息是否設(shè)置正確
因為 userId 會被后續(xù)用到很多地方,比如推送,白名單。所以一般建議選擇服務(wù)端的 userId 字段作為存儲字段,方便后續(xù)和服務(wù)端做 userId 字段同步,不建議存儲個人手機(jī)號或者身份證等個人信息作為 userId。
1.4 埋點信息是否包含敏感信息,比如交易單號
考慮到埋點的量級很大,所以 mPaas 的埋點默認(rèn)本地是沒有做數(shù)據(jù)加密的,所以埋點信息不建議包含敏感字段,防止由于埋點導(dǎo)致信息泄漏。敏感字段建議走 RPC 的數(shù)據(jù)通道上報,保證數(shù)據(jù)安全。如果有埋點埋敏感字段的訴求,需要主動開啟埋點的本地加密配置。
1.5 隱私權(quán)限配置
由于現(xiàn)在監(jiān)管機(jī)構(gòu)對隱私權(quán)限管控比較嚴(yán)格,mPaas 針對權(quán)限管控做了對應(yīng)的接入方案。需要需要確保上線前隱私權(quán)限相關(guān)配置已經(jīng)正常接入。
二、穩(wěn)定性
2.1 驗證在 Android4.X 版本的是否可以正常使用
mPaaS 最低支持 Android 4.3 版本以上,所以發(fā)布前需要驗證下低版本 Android 設(shè)備的可用性,遇到比較多的是在 Android 4.X 設(shè)備上由于多 dex 加載導(dǎo)致的類找不到導(dǎo)致的安裝閃退問題。
2.2 iOS 符號表是否正常上傳
發(fā)布前需要確保 iOS 的符號表已經(jīng)上傳到 mPaaS 后臺,方便后臺反解閃退信息。
2.3 熱修復(fù)模塊是否接入并且驗證通過
發(fā)布前需要確保熱修復(fù)模塊的正常接入以及驗證通過,保證上線有針對 Native 模塊的熱修復(fù)能力,保證異常場景下的修復(fù)能力。
2.4 離線包 Fallback 域名確認(rèn)
確認(rèn) Fallback 域名是否是外網(wǎng)可訪問的地址,遇到過發(fā)布后下發(fā)的還是內(nèi)網(wǎng)地址的 case。
2.5 離線包模塊接入 CDN
上線前做好容量評估,默認(rèn) mPaaS 的離線包是存儲在 OSS 內(nèi)的,但是一般建議針對離線包模塊接入 CDN,通過 CDN 的緩存功能解決因為離線包下載導(dǎo)致帶寬打滿的風(fēng)險,同時相對于 OSS 存儲來說,CDN 的費(fèi)用更低。接入示意圖如下:
2.6 RPC 核心鏈路接口壓測
上線前需要對 App 核心鏈路的 RPC 接口做性能壓測,獲取接口性能瓶頸,可以用做后續(xù)的限流值的設(shè)定參考。同時需要針對 RPC 限流場景做演練,防止上線限流后客戶端出現(xiàn)各種異常。
2.7 發(fā)布更新功能可用
上線前需要驗證發(fā)布 apk 功能可用,包括發(fā)布更新的強(qiáng)制更新功能,保證在極端場景下,需要強(qiáng)制升級使用。
三、性能體驗
3.1 離線包離線功能是否正常生效
確保離線包的離線功能正常使用,防止由于離線包各種配置問題導(dǎo)致離線功能不生效。
3.2 UC 內(nèi)核是否正常接入
確保 UC 內(nèi)核正確配置接入,主要解決系統(tǒng) WebView 下的各種兼容性問題。同時 UC 提供了很好的穩(wěn)定性,比系統(tǒng) WebView 更穩(wěn)定。
3.3 核心鏈路離線包是否預(yù)制
在發(fā)布前,需要預(yù)制核心鏈路離線包,保證核心鏈路在極端異常場景下仍然可以打開。
宏思銳達(dá)是專業(yè)貴陽APP開發(fā)公司,擁有專業(yè)的本地項目團(tuán)隊,歡迎您咨詢貴州宏思銳達(dá)!
- 開發(fā)平臺
- 微信公眾號開發(fā)
- IOS 開發(fā)
- 安卓開發(fā)
- 網(wǎng)站建設(shè)
- 熱門文章
- 1.如何讓 Xcode 在讀寫上提速100倍?
- 2.AIRBNB 用這個流程,大幅提高了開發(fā)和設(shè)計的協(xié)作效率
- 3.如何設(shè)計內(nèi)容精確、體驗友好的DASHBOARD?(上篇)
- 4.餐飲革命:星廚餐幫與宏思銳達(dá)達(dá)成數(shù)字化產(chǎn)品開發(fā)戰(zhàn)略合作
- 5.拼必達(dá)-貴州第一個智慧同城配送平臺(宏思銳達(dá)研發(fā))
- 推薦文章
- 1.可能是最全面的組件化開發(fā)與設(shè)計指南
- 2.一個APP界面設(shè)計完整流程詳解
- 3.設(shè)計思考:當(dāng)項目中遇到技術(shù)限制,設(shè)計該如何彌補(bǔ)?
- 4.設(shè)計師如何打造雙11網(wǎng)紅爆款?揭秘天貓精靈的全鏈路營銷設(shè)
- 5.深度剖析APP開發(fā)價格為什么這么貴?
- 最新標(biāo)簽
- APP開發(fā)