首先咱們先來看兩個圖,在我的app發生崩潰,app重啓之後,我們會收到郵件提醒.點進去查看bug詳情
怎麼樣,機型,錯誤日誌,運行截圖統統都有了,瞬間感覺自己萌萌噠啊
ok,那就簡單說一下集成步驟吧
想使用這個SDk肯定也是需要註冊,註冊鏈接https://www.bugtags.com/
註冊好賬戶之後,我們可以創建一個應用,名字隨意,系統選擇android
完成之後,我們就拿到了app_key,和app_secret
打開Android Studio,創建一個新的項目
在項目的build.gradle文件中修改成
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.bugtags.library:bugtags-gradle:latest.integration'
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
apply plugin: 'com.bugtags.library.plugin'
//mapping upload
bugtags {
appKey 'APP_KEY' //your appKey
appSecret 'APP_SECRET' //your appSecret,admin can access in setting page
}
dependencies {
compile 'com.bugtags.library:bugtags-lib:latest.integration'
}
一般寫程序都會抽象出來一個BaseActivity 用來比較方便的管理所有的Activity,這次也不例外,編輯我們的BaseActivity添加幾個回調(或者在所有的activity中添加這些回調)
@Override
protected void onResume() {
super.onResume();
//callback 1
Bugtags.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
//callback 2
Bugtags.onPause(this);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
//callback 3
Bugtags.onDispatchTouchEvent(this, event);
return super.dispatchTouchEvent(event);
}
創建一個Application類,進行Sdk的初始化(最後不要忘記在配置文件中註冊該類)
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
initSdk();
}
private void initSdk() {
BugtagsOptions.Builder builder = new BugtagsOptions.Builder();
builder.trackingCrashLog(true);
builder.trackingConsoleLog(true);
// Bugtags.BTGInvocationEventBubble,在app中顯示圓形小球
// Bugtags.BTGInvocationEventNone,在app中不顯示圓形小球
// Bugtags.BTGInvocationEventShake,通過搖一搖讓圓形小球顯示出來
// Bugtags.start("2d2314cb6ead8eea5647644da412fd5d", this, Bugtags.BTGInvocationEventNone);//這樣在聯機debug中不會上報異常
Bugtags.start("2d2314cb6ead8eea5647644da412fd5d", this, Bugtags.BTGInvocationEventNone, builder.build());//聯機debug中上報異常
}
}
關於第四個參數比較有意思的一點是,當我們不去定義他的時候,如果我們的程序是debug編譯的.那麼崩潰之後他不會上傳崩潰信息,如果要在debug下也是要捕獲異常的.就要像我上面那樣做一樣
最後,最重要的一點是不要忘記給我們的app添加訪問網絡的權限,不然就算捕獲到了異常日誌也是不能提交上來的
sdk github地址https://github.com/bugtags/Bugtags-Android