天天看點

監測APP性能工具之友盟U-APM的內建方法

作者:IT科技站點

一款APP上市之後,并不代表就沒有後續工作了;雖然APP在面向使用者之前,已經做過很多測試;但是,這并不意味着APP不會出現卡頓、崩潰等現象;是以需要開發人員以及測試人員及時監測app的異常情況。進而根據異常情況去優化APP的性能,保證APP的流暢度以及正常使用;對此,我們可以使用第三方工具,比如說友盟的U-APM,知名度較高且簡單易操作;接下來,我就來給大家簡單介紹下友盟U-APM的內建方法!

這裡有一個整體的流程圖

監測APP性能工具之友盟U-APM的內建方法

一、整體操作步驟

第一步:內建準備

登入友盟應用性能檢測平台U-APM的背景網站

1.注冊友盟賬号:如果沒有賬号可以先“注冊”,注冊完登入後,直接點選進入背景

2.建立應用:進入背景後,點選立即“建立”,填寫上應用的相關資訊,點選注冊應用即可

監測APP性能工具之友盟U-APM的內建方法
監測APP性能工具之友盟U-APM的內建方法

這裡的AppKey很重要哦,內建的時候要用到的,然後點選“繼續內建”下面就可以愉快的內建了。

監測APP性能工具之友盟U-APM的內建方法

第二步:開始內建,內建分自動內建和手動內建兩種模式

還是先來看下整個內建的流程圖

自動內建(推薦)

通過在Android Studio工程build.gradle配置腳本中添加maven線上依賴,導入最新版本元件化統計SDK。

maven依賴配置

在工程build.gradle配置腳本中buildscript和allprojects段中添加【友盟+】SDK新maven倉庫位址。

maven { url 'https://repo1.maven.org/maven2/' }

在工程App 對應build.gradle配置腳本dependencies段中添加統計SDK庫和其它庫依賴:

dependencies {

implementation fileTree(include:['*.jar'], dir:'libs')

// 下面各SDK根據宿主App是否使用相關業務按需引入。

// 友盟統計SDK

implementation 'com.umeng.umsdk:common:9.4.2'// 必選

implementation 'com.umeng.umsdk:asms:1.4.1'// 必選

implementation 'com.umeng.umsdk:apm:1.4.2' // 錯誤分析更新為獨立SDK,看crash資料請一定內建,必選

implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可選

}

注意:在Android Studio 3.1及以上版本開發環境下,指定引用最新版本依賴寫法”latest.integration”可能導緻下載下傳庫逾時,此時需要指定具體版本号。

二、清單檔案中的權限配置

如果應用使用了代碼混淆,請添加如下配置,以避免【友盟+】SDK被錯誤混淆導緻SDK不可用

-keep class com.umeng.** {*;}

-keepclassmembers class * {

public (org.json.JSONObject);

-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

三、方法調用

在Applicaiton.onCreate函數中調用預初始化函數UMConfigure.preInit(),正式初始化函數UMConfigure.init可以按需調用(可以在預初始化函數之後緊接着調用,也可以放到背景線程中延遲調用,但還是必須調用,不能遺漏),但確定App首次冷啟動時,在使用者閱讀《隐私政策》并取得使用者授權之後,才調用正式初始化函數UMConfigure.init(),如果使用者不同意《隐私政策》授權,則不能調用UMConfigure.init()初始化函數。

// SDK預初始化函數不會采集裝置資訊,也不會向友盟背景上報資料。

// preInit預初始化函數耗時極少,不會影響App首次冷啟動使用者體驗

public static void preInit(Context context, String appkey, String channel)

/**

* 注意: 即使您已經在AndroidManifest.xml中配置過appkey和channel值,也需要在App代碼中調

* 用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,

* UMConfigure.init調用中appkey和channel參數請置為null)。

*/

UMConfigure.init(Context context, String appkey, String channel, int deviceType, String pushSecret);

代碼示例

監測APP性能工具之友盟U-APM的內建方法

四、手動內建(不推薦)

手動內建沒有使用,我這裡就不做介紹了,有需要的小夥伴可以到友盟官網進行學習使用。

到這裡已完成了對資料統計和異常情況監測的sdk內建。

但是呢,平時生産回報的異常問題,我們哼哧哼哧調試好半天才搞定,浪費了本該逍遙快活的大好時間。是以我們就想對app異常情況做更進一步的分析回報。不要着急,友盟也給我們想好了,友盟給我們預留了崩潰回調方法,當崩潰發生時,可以在該回調方法中傳回string類型的業務自定義資料,該資料會寫入到崩潰檔案中并上傳到伺服器展示。注意:崩潰回調中傳回string類型資料的長度限制為256個字元。

接口示例

UMCrash.registerUMCrashCallback(newUMCrashCallback(){

@Override

publicString onCallback(){

return"崩潰時register的自定義内容字元串";

});

上傳後即可在錯誤詳情-自定義字段中檢視到回調資訊

監測APP性能工具之友盟U-APM的內建方法

我們還可以自定義異常接口,如果捕獲了錯誤,需要手動上傳到【友盟+】伺服器可以調用下面兩種方法:

方法一:

public static void UMCrash.generateCustomLog(Throwable e,String type)

方法一示例:

try{

// 抛出異常的代碼

}catch(Exception e){

UMCrash.generateCustomLog(e,"UmengException");

方法二:

public static void UMCrash.generateCustomLog(String e,String type)

方法二示例:

String e ="自定義異常代碼";

使用自定義錯誤,檢視時請在錯誤清單頁面選擇【自定義異常】。

好了,開始運作項目,看下友盟背景是不是有資料了,如果有使用者資料那說明內建成功,可以慶祝了。

監測APP性能工具之友盟U-APM的內建方法

由于異常情況的資料還沒有,隻能給大家截個樣式圖了,但效果都是一樣的。

監測APP性能工具之友盟U-APM的內建方法

整個內建過程還是比較簡單的,目前友盟的功能還是比較強大的,包括應用的各種資料統計、異常日志的回報、推送、分享等,以後會慢慢學習研究,加入到項目裡,使應用的監控和功能更加豐富。

  總結

U-APM 是友盟+推出的App穩定性監控、性能監控和雲真機測試平台。通過輕量級的內建接入即可擁有實時、可靠、全面的應用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動分析等性能能力,支援多場景、多通道智能告警監控,幫助開發者高效還原異常、卡頓使用者的通路路徑和業務現場,縮短故障排查時間。

無論是統計的內建,還是推送、分享的內建,都可以試試運用上U-APM的功能,你會發現不一樣的體驗和便捷!

繼續閱讀