項目地址:github.com/crazecoder/…java
//androidx
dependencies:
flutter_bugly:
git:
url: git://github.com/crazecoder/flutter_bugly.git
//support
dependencies:
flutter_bugly: ^0.1.1
複製代碼
在android/app/build.gradle的android下加入android
defaultConfig {
ndk {
//設置支持的SO庫架構
abiFilters 'arm64-v8a', 'x86'//, 'armeabi-v7a', 'x86_64'
}
}
複製代碼
import 'package:flutter_bugly/flutter_bugly.dart';
//使用flutter異常上報
void main()=>FlutterBugly.postCatchedException((){
runApp(MyApp());
});
FlutterBugly.init(androidAppId: "your android app id",iOSAppId: "your iOS app id");
複製代碼
64-bitgit
flutter build apk --release --target-platform android-arm64
複製代碼
32-bitgithub
flutter build apk --release --target-platform android-arm
複製代碼
bool autoCheckUpgrade = true,//自動檢查更新開關
bool autoDownloadOnWifi = false,//設置Wifi下自動下載
bool enableNotification = false,//官方沒有適配8.0,配合targetSdkVersion使用
bool showInterruptedStrategy = true, //設置開啓顯示打斷策略
bool canShowApkInfo = true, //設置是否顯示彈窗中的apk信息
int initDelay = 0, //延遲初始化,單位秒
int upgradeCheckPeriod = 0, //升級檢查週期設置,單位秒
//手動檢查更新
checkUpgrade({
bool isManual = false,//用戶手動點擊檢查,非用戶點擊操做請傳false
bool isSilence = false,//是否顯示彈窗等交互,[true:沒有彈窗和toast] [false:有彈窗或toast]
})
複製代碼
經過FlutterBugly.getUpgradeInfo()獲取更新策略信息填入自定義flutter widget,手動彈窗bash
UpgradeInfo參數:架構
String id = "";//惟一標識
String title = "";//升級提示標題
String newFeature = "";//升級特性描述
long publishTime = 0;//升級發佈時間,ms
int publishType = 0;//升級類型 0測試 1正式
int upgradeType = 1;//升級策略 1建議 2強制 3手工
int popTimes = 0;//提醒次數
long popInterval = 0;//提醒間隔
int versionCode;
String versionName = "";
String apkMd5;//包md5值
String apkUrl;//APK的CDN外網下載地址
long fileSize;//APK文件的大小
String imageUrl; // 圖片url
複製代碼
異常上報說明app
一、flutter異常上報不屬於崩潰,因此如需查看flutter的異常上報,請在【錯誤分析】tab頁查看post
二、iOS的異常上報沒有過多測試,如出現問題請issue測試
目前已知問題gradle
一、第一次接受到更新策略以後,不會彈窗,即便手動檢查更新也不會,須要退出app以後再進入,纔會有彈窗(已解決)
二、官方沒有適配8.0的notification,因此若是須要用到notification的時候請關閉後(默認關閉),本身寫相關業務邏輯,或者直接把gradle裏的targetSdkVersion設成26如下(方法見示例)