在Android、iOS、Web多平台使用AppGallery Connect性能管理服務

  • 2021 年 4 月 23 日
  • 筆記

性能管理(App Performance Management,簡稱APM)是華為應用市場AppGallery Connect(簡稱AGC)品質系列服務中的其中一項,可以提供分鐘級應用性能監控能力,支援Android、iOS、Web多個平台,可查看和分析APM收集到的應用性能數據,實時全面掌握應用在線的性能表現,幫助您快速閉環性能問題,持續提升應用的用戶體驗。

性能管理服務優勢

下面我們從總體上看一下,性能管理服務具備哪些優點:

1.跨平台:APM支援Android、iOS、Web多個平台,也支援基於Unity和Cocos引擎開發的遊戲應用,使其可以方便用於各種開發場景;

2.易集成:零程式碼開發,平均集成耗時在5分鐘以內;

3.​場景化:APM當前支援應用啟動、頁面載入、頁面渲染等多個性能監控場景,而且在場景化基礎上,支援應用ANR監控,提供豐富的ANR資訊,在線快速解決ANR問題;

4.全流程:與傳統工作在開發態、測試態性能分析工具相比,APM貫穿了應用開發、測試、發布的全流程;

APM還具備實時性和可視化的特點,強大的數據分析和可視化系統提供了分鐘級的實時監控能力。為了幫助您快速感知用戶體驗問題,我們細化了應用啟動、頁面載入、頁面渲染、網路請求等場景下的監控指標,比如網路請求監控包含了請求耗時、包大小、狀態碼等。這些標準的監控場景之外,為了滿足您訂製化的監控訴求,我們進一步提供了自定義跟蹤監控,支援您上報自定義屬性和指標,監控應用在自定義場景下的性能。

性能管理服務使用場景

接下來,我們看下APM的使用場景:

1.應用啟動耗時場景中提供了按分位值分布,按時間分布,按應用版本分布的啟動耗時分析圖表,並支援按照版本號、國家地區、手機型號、系統版本等維度的篩選及下鑽分析。在應用新版本發布後,我們可以查看應用啟動耗時是否有增加或減少的現象。

2.在應用頁面渲染也就是我們通常說的頁面卡頓場景中,您可以查看各頁面的緩慢幀、凍結幀的佔比,對於佔比比較高的頁面,可以按照應用版本、手機型號、系統版本等維度進行下鑽分析,識別出卡頓問題的根本原因。

3.在應用網路請求場景下,您可以查看網路請求響應時間、成功率等指標,並按照設備所處的國家地區、網路及運營商資訊等維度進行下鑽分析,以便快速定位網路請求異常問題。

零程式碼集成AGC性能管理服務

了解過上述場景後,我們來看看如何在Android平台集成該服務。APM集成步驟非常簡單,只需要在開通服務後在程式碼中集成插件和SDK即可,實現零程式碼快速集成。

1.創建應用並開通性能管理服務

首先,我們在AGC控制台創建應用並開通APM,創建應用的時候,注意應用的包名要和APK里的包名保持一致。如果是在已有的應用里集成APM,注意包名需要和AGC控制台創建應用時配置的包名保持一致 。創建好項目應用後,或者使用已有的應用,在介面上找到「我的項目-品質-性能管理」,點擊立即開通即可。

2.下載和集成json文件

在Android Studio中新建一個Android工程,包名需要和AGC介面上的包名保持一致,然後回到AGC首頁,在「我的項目-項目設置-應用」介面下,找到並且將agconnect-services.json文件下載到本地,放到Android工程的app層級目錄下。

3.集成APM插件與APM SDK

配置SDK地址,打開Android工程,在項目級build.gradle文件中,配置下面的內容:

打開應用級的build.gradle文件,將APM的SDK添加到您的應用,配置內容如下:

4.配置混淆文件

我們找到應用級的proguard-rules.pro文件(混淆配置文件),添加以下排除項:

集成結束後,點擊Android Studio工程右上角的Sync,打包應用放到Android設備上運行,然後就可以在AGC介面上查看APM所採集到的數據與報告。整個集成過程未涉及業務程式碼的編寫,僅通過簡單的4項步驟就順利完成,便捷高效。

APM分析報告提供了性能問題出現瞬間的詳細的設備與日誌資訊、性能數據,實時的監測報告為產品和運營提供了優化方向,同時也解決了性能問題開發難定位、測試難復現的問題,大幅減少了開發、測試工作量。

以上關於性能管理的分享到這裡就結束了,了解更多資訊,請前往AGC官網參閱性能管理服務,或查看GitHub Demo(APM)、Codelab(Android)、Codelab (iOS)。

還有更多AppGallery Connect服務支援Android、iOS、Web、快應用多個平台,具備跨平台特性,能夠集成到Flutter、Cordova和React Native跨平台框架上,基於Unity和Cocos遊戲引擎開發的遊戲應用也可以集成AGC相關服務。如您有任何疑問,可以通過[email protected]與我們聯繫。