bugly的flutter版已完成,歡迎使用

使用者未登入發表於2019-01-21

目前支援Android(更新統計、原生異常上報、flutter異常上報)、iOS(統計、原生異常上報、flutter異常上報)

專案地址:github.com/crazecoder/…


一、引入

//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下加入

    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");

複製程式碼

四、release打包(Android)

64-bit

flutter build apk --release --target-platform android-arm64
複製程式碼

32-bit

flutter build apk --release --target-platform android-arm
複製程式碼

五、支援屬性(Android)

 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]
 })
複製程式碼

六、自定義彈窗(Android)

通過FlutterBugly.getUpgradeInfo()獲取更新策略資訊填入自定義flutter widget,手動彈窗

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

複製程式碼

七、說明(Android)

異常上報說明

1、flutter異常上報不屬於崩潰,所以如需檢視flutter的異常上報,請在【錯誤分析】tab頁檢視

bugly的flutter版已完成,歡迎使用

2、iOS的異常上報沒有過多測試,如出現問題請issue

目前已知問題

1、第一次接受到更新策略之後,不會彈窗,即使手動檢查更新也不會,需要退出app之後再進入,才會有彈窗(已解決)

2、官方沒有適配8.0的notification,所以如果需要用到notification的時候請關閉後(預設關閉),自己寫相關業務邏輯,或者直接把gradle裡的targetSdkVersion設成26以下(方法見示例)

相關文章