当前位置: 首页 > news >正文

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

目前支持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页查看

2、iOS的异常上报没有过多测试,如出现问题请issue

目前已知问题

1、第一次接受到更新策略之后,不会弹窗,即使手动检查更新也不会,需要退出app之后再进入,才会有弹窗(已解决)

2、官方没有适配8.0的notification,所以如果需要用到notification的时候请关闭后(默认关闭),自己写相关业务逻辑,或者直接把gradle里的targetSdkVersion设成26以下(方法见示例)

相关文章:

  • python之造测试数据-faker(转载)
  • python里能不能用中文
  • Redis命令详解:Sorted Sets
  • 开发童鞋必知必会-Linux命令
  • css清除浮动的8种方法以及优缺点
  • 5G首秀北京CBD 将在智能交通等方面打造“智慧CBD”
  • 【BZOJ1049】 [HAOI2006]数字序列
  • 推动“绿色制造” 上海发布新版产业能效指南
  • 关中海关今日揭牌开关
  • 巨头竞赛:AWS和Azure的云区块链服务有何异同?
  • docker 容器无root 权限,如何获得docker容器里面的root权限
  • 一觉睡醒,我的SC存储性能提高了54%?!
  • 【Kyligence 公开课】视频回顾—— Superset设计与SQL查询
  • 设计模式之建造者模式
  • 苹果Q1财报出炉:手机收入下滑15%,服务收入增长19%
  • 【Leetcode】101. 对称二叉树
  • SegmentFault for Android 3.0 发布
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • HashMap ConcurrentHashMap
  • Java到底能干嘛?
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • leetcode386. Lexicographical Numbers
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 分享一份非常强势的Android面试题
  • 记一次删除Git记录中的大文件的过程
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前言-如何学习区块链
  • 深入浅出Node.js
  • 学习使用ExpressJS 4.0中的新Router
  • 鱼骨图 - 如何绘制?
  • 阿里云服务器购买完整流程
  • #git 撤消对文件的更改
  • (2.2w字)前端单元测试之Jest详解篇
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (阿里云万网)-域名注册购买实名流程
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (九十四)函数和二维数组
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • ***测试-HTTP方法
  • .equals()到底是什么意思?
  • .net mvc 获取url中controller和action
  • .net 微服务 服务保护 自动重试 Polly
  • .net 怎么循环得到数组里的值_关于js数组
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .sh
  • ::什么意思
  • @Resource和@Autowired的区别
  • @软考考生,这份软考高分攻略你须知道
  • [ IO.File ] FileSystemWatcher
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [2]十道算法题【Java实现】