原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
對于小程序開發者來說,如何進行錯誤監控一直是個頭疼的問題。由于小程序開發迭代較快,會存在系統問題,機型問題和版本的兼容問題,有時候我們在自行測試中完美運行,可總是有用戶抱怨使用異常。如果我們對小程序的錯誤進行有效的監控,可以幫助小程序開發者發現異常,優化代碼,用戶體驗也會隨著優化逐步的提升。
作為一個小程序開發者,如果你對前端開發比較熟悉,那么在錯誤監控方面可能會更快的上手。因為小程序錯誤監控和 Web 端錯誤監控本身就具有很多相似性,因此監控的數據規則基本是一致的,但由于小程序自身的特性,在錯誤監控方面會有以下不同:
在 Web 端我們監測的是頁面完整的url
,而小程序端監測的是路由地址;
小程序頁面屬于微信內部的頁面,使用時已全部加載完畢,因此監控頁面性能時不統計頁面加載時長等信息,更多的是對頁面內請求、資源請求和用戶行為的監控;
由于微信官方和小程序代碼的要求,集成方式對比 Web 端會相對嚴格一些。
根據以上的相同點和不同點,我們可以整理出對于小程序而言,哪些數據是需要監控的:
JavaScript
異常監控:不論是 Web 端還是小程序端,對JavaScript
異常的監控都是必要的;
頁面內請求監控:對于小程序來說,我們需要統計發送網絡請求的wx.request()
異常時的請求狀態、請求時長、請求地址等;
資源加載監控:當需要下載資源到本地的wx.downloadFile()
出現異常時,統計加載時間、異常類型、資源地址等;
頁面性能監控:訪問監控、頁面來源及流向監控等,方便我們更好的對小程序進行運營;
用戶數據統計:用戶的分布、操作系統及版本、微信版本、IP 地址等,給錯誤的分析提供更多條件。
對于小程序出現的錯誤,我們目前只能在開發者工具上進行追蹤和調試,有條件的開發者也可以選擇在真機上進行調試,但是小程序大多還是小團隊和個人開發者,擁有不同操作系統,不同型號,不同版本的真機進行調試還是不太現實,這里就可能會出現在本地調試中沒有出現的問題,且很難定位的到。
在目前的微信小程序后臺中,對于上面后兩點的監控和統計已經可以實現,用戶數據的分析也比較完善,但是對于錯誤的監控目前還無法實現,這里我們可以借助第三方工具來進行對錯誤的監控。
這里我們選擇錯誤監控平臺 FrontJS 的小程序錯誤監控:https://www.frontjs.com/
FrontJS 的小程序錯誤監控相比于微信小程序后臺的數據監控,增加了對于錯誤的統計和產生錯誤的相關用戶分析,FrontJS可以收集精細到console.log
級別的任何JavaScript
異常信息并提供 stack trace 信息;對于任何一條錯誤信息或訪問,它都會統計到該用戶的IP、屏幕分辨率、DPR、操作系統類型和微信版本,方便我們更有針對性的去調試出現的錯誤。
使用時我們只需引入 FrontJS 插件,并添加配置代碼,即可開啟監控。
在這個頁面也可以對不監聽的資源和信任域進行設置。
創建完成后,我們只需要根據頁面右側的提示進行操作,就可以完成小程序錯誤監控的全部設置。
集成完畢后就可以開始錯誤的監控了,具體界面如下,在左側菜單欄中我們可以選擇不同的條件進行錯誤的篩選,具體內容各位可以親自嘗試。
FrontJS對微信小程序下已有的相關方法進行了監聽,在出現異常或需要監控時,FrontJS會及時發現并統計數據,并且完全不影響小程序的正常運行。
在后續更新中,FrontJS 會繼續挖掘可監控到的信息,如用戶的位置信息,語言,基礎庫版本等,對這些信息做更優處理,配合可視化工具,開發者將可以構建出更符合自身需求的數據方案。