bugly进阶01-集成bugly时的相关参数

个人github
CSDN博客

前言

bugly的集成十分的简单,在代码中只需要简单的一个语句就可以轻松集成

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Bugly startWithAppId:@"此处替换为你的AppId"];
return YES;
}

而实际上官方还为我们提供了另一个类似的语句:

/**
* 使用指定配置初始化Bugly
*
* @param appId 注册Bugly分配的应用唯一标识
* @param config 传入配置的 BuglyConfig
*/
+ (void)startWithAppId:(NSString * BLY_NULLABLE)appId
config:(BuglyConfig * BLY_NULLABLE)config;

这个方法和前者相比多了一个BuglyConfig的类,通过它,我们可以让bugly按照我们的意愿为我们更好的工作。

BuglyConfig可设置参数

@property (nonatomic, assign) BOOL debugMode;

bugly sdk的debug信息开关。默认为NO,如果设置为YES,在控制台中你将会看到bugly自带的输出(BuglyLog),一般我们在开发的过程中会需要到它,但是上线的时候就没有打开的必要了,推荐设置为:

#if DEBUG
config.debugMode = YES;
#endif

@property (nonatomic, copy) NSString *channel;

自定义渠道标识。在“运营统计”模块很多和渠道有关的地方用到它,运营人员可以轻而易举地得知用户喜欢从哪个应用商店下载APP(虽然iOS开发者不太需要使用这个,毕竟苹果的应用商店只有一个),但是稍微了解一下,推荐设置为:

#if DEBUG
config.channel = @"测试模式";
#else
config.channel = @"苹果应用商店";
#endif

@property (nonatomic, copy) NSString *version;

自定义版本号。默认是空,但是如果不填的话会用你在xcode中设置的版本号,也就是你在项目target中Bundle Identifier的下一行Version里面写的那行字符串,无论是查看崩溃日志还是查看版本分布,你在很多地方都能看到版本号。推荐设置为:

```
(皮一下:-D) ----

@property (nonatomic, copy) NSString *deviceIdentifier;

        自定义设备唯一标识。(留空)推荐设置为:

----

@property (nonatomic) BOOL blockMonitorEnable;

        卡顿监控开关。默认是NO,也就是不监控卡顿,在bugly的“异常上报”模块中有检测卡顿的功能,那里会有记录。

----

@property (nonatomic) NSTimeInterval blockMonitorTimeout;

        卡顿监控判断间隔。默认为3.5秒。也就是说卡顿超过这么久之后会上报卡顿。

----

@property (nonatomic, copy) NSString *applicationGroupIdentifier;

        App Groups Id。这个要结合[APP Extension SDK](https://bugly.qq.com/docs/user-guide/instruction-manual-ios-app-extension/?v=20170912151050)一起使用,如果你听得一头雾水的话,那么这个字符串就没有必要理会。

----

@property (nonatomic) BOOL symbolicateInProcessEnable;

        进程内还原开关。默认是YES。

----

@property (nonatomic) BOOL unexpectedTerminatingDetectionEnable;

        非正常退出事件记录开关,默认关闭。这个一开始我也看得百思不得其解,然后在官方文档中的一个[阴暗角落](https://bugly.qq.com/docs/user-guide/upgrading-2.x-ios/)找到了答案,非正常退出事件实际上就是unix的专业术语的一个指令事件,叫做"SIGKILL",而"SIGKILL"一般不是用户或者开发者的问题,而是[程序已经进入suspend状态、applicationDidEnterBackground已经回调的时候,由系统发出"SIGKILL"强制程序直接结束](https://blog.csdn.net/liqinghua1653/article/details/28433233)。所以推荐不做修改或者设置为YES。

----

@property (nonatomic) BOOL viewControllerTrackingEnable;

        页面信息记录开关,默认开启。当你查看日志的时候,里面有个“跟踪数据”,点进去之后你会发现里面还有“页面追踪”模块,当你开启的时候你会发现里面会用内容,这表示用户使用过程经过的controller,如果关闭,则不会有。所以推荐不做修改或者设置为YES。
![页面追踪](https://github.com/MrYu4/MyUploadPicture/blob/master/%E9%A1%B5%E9%9D%A2%E8%BF%BD%E8%B8%AA.png?raw=true) ----

@property (nonatomic, assign) id delegate;

        不多说了,大家都懂。

----

@property (nonatomic, assign) BuglyLogLevel reportLogLevel;

         控制自定义日志上报等级,默认值为BuglyLogLevelSilent,即关闭日志记录功能。bugly提供了类似于``NSLog``的输出方法,叫做``BLYLog``。而且这个方法在``BuglyConfig.debugMode``为真的时候可以支持在编译器的控制台输出显示,而且无论debugMode是否真假,在上传的日志中点进“跟踪日志”可以查看输出显示;不过这和``NSLog``有所不同的是分为Error、Warn等多个等级。![自定义日志](https://github.com/MrYu4/MyUploadPicture/blob/master/bugly-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%97%A5%E5%BF%97.png?raw=true)

         设置完上报等级之后,就表明bugly将上传该等级以及以上等级的输出,假设你设置的等级为``BuglyLogLevelWarn``,那么上报的输出的等级会包括warn和error这两个等级,而较低的Info、Debug将不会上传。建议设置为```BuglyLogLevelVerbose```,也就是最低等级。

----

@property (nonatomic, assign) BOOL consolelogEnable;

        控制台日志上报开关,默认开启,如果该值为真,并且如果控制台有输出的话,日志中的会有“控制台信息”模块,可以点进去查看控制台的输出(如果按照本文推荐的设置的话你看普通用户上报的日志中在“控制台信息”是不会看到```BLYLog```输出的信息的,你猜是为什么?提示在``BuglyConfig.debugMode``的推荐设置),所以推荐不做修改或者设置为YES。
![控制台日志](https://github.com/MrYu4/MyUploadPicture/blob/master/%E6%8E%A7%E5%88%B6%E5%8F%B0.png?raw=true) (开发时如果出现崩溃XCode也会打印出类似的信息) ----

@property (nonatomic, assign) NSUInteger crashAbortTimeout;

        崩溃退出超时时间,默认为5,单位秒。如果监听到崩溃后,App一直没有退出,则到达超时时间后会自动abort进程退出。如果你设置为0的话则不会使用此项功能。

##其他可以设置的参数
        除了BuglyConfig之外在``Bugly.h``中也有一些可以设置的参数,但是有意思的是只能通过set方法赋值而不是直接对变量赋值。 ----

/**
* 设置用户标识
*
* @param userId 用户标识
*/
+ (void)setUserIdentifier:(NSString *)userId;
/**
* 更新版本信息
*
* @param version 应用版本信息
*/
+ (void)updateAppVersion:(NSString *)version;

“`
        用户标识默认为空,版本信息默认为APP的版本号+内部版本号。二者都可以在可以在日志中“最近一次上报”模块中会有出现,分别对应的是用户ID、应用版本。

求打赏

(这个求打赏有些丑啊……有什么办法改进一下?)

bugly进阶01-集成bugly时的相关参数的更多相关文章

  1. 在 ReactNative 的 App 中,集成 Bugly 你会遇到的一些坑

    一.前言 最近开新项目,准备尝试一下 ReactNative,所以前期做了一些调研工作,ReactNative 的优点非常的明显,可以做到跨平台,除了少部分 UI 效果可能需要对不同的平台进行单独适配 ...

  2. SQL Server 进阶 01 数据库的设计

    SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...

  3. JavaScript进阶系列01,函数的声明,函数参数,函数闭包

    本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调 ...

  4. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  5. java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)

    ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...

  6. Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

    格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: /** * 获取指定时间到格林威治时间的秒数 ...

  7. js基础进阶--图片上传时实现本地预览功能的原理

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近在项目上加一个图片裁剪上传的功能,用的是cropper插件,注意到选择本地图片后就会有预览效果,这里整理一下这种预览效 ...

  8. 腾讯微博API时间线相关接口返回的微博信息中head值使用问题

    腾讯微博API时间线相关接口返回的微博信息中head值表示作者头像url,这个链接直接访问并不能使用,需要再附加一个参数指定图片的大小(100.50),比如:[head]/100.

  9. 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO

    刷新SQL Server所有视图.函数.存储过程 更多   sql   此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...

  10. Testlink集成Jira时如果出现Error咋办?

    TestLink在用SOAP集成Jira时,如果出现: SOAP Fault: (code: WSDL, string: SOAP-ERROR: Parsing WSDL: Couldn't load ...

随机推荐

  1. vscode 配置c/c++环境,无法生成 *.exe文件

    ​ [问题]: 使用vscode配置c/c++环境时,提示无法构建失败. [解决方案]: 1. 当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误. 2. ...

  2. SQL Server实战二:创建、修改、复制、删除数据库表并加以数据处理

      本文介绍基于Microsoft SQL Server软件,实现数据库表的创建.修改.复制.删除与表数据处理的方法. 目录 1 交互式创建数据库表T 2 交互式创建数据库表S 3 T-SQL创建数据 ...

  3. Modelsim使用指南

    Modelsim使用指南 本文讲述Modelsim的使用步骤. 添加一个测试文件,比如modulename.v. 编辑这个Verilog模块. 为了方便讲述,顶层模块名命名为"top&quo ...

  4. 02、Linux 排查

    Linux 分析排查 1.敏感文件信息 1.1.tmp 目录 /tmp:临时目录文件,每个用户都可以对它进行读写操作.因此一个普通用户可以对 /tmp 目录执行读写操作(ls -alt) 筛查 /tm ...

  5. SWAG反向代理Jellyfin媒体服务器流量教程

    目录 1. 简介 1.1 Jellyfin媒体服务器 1.2 SWAG服务器 2. 设置Jellyfin开启HTTPS访问 3. 安装并配置SWAG服务器反向代理Jellyfin流量 3.1 安装SW ...

  6. Mysql8.0在windows系统安装一直卡在Starting the server的解决方案

    报错:Beginning configuration step: Starting Server Attempting to start service MySQL80 一直卡在这里,手动启动服务也起 ...

  7. Shopify Theme 开发 —— 性能优化

    一.概述 关于 Shopify Theme 的性能优化,通常有以下几点: 1.卸载未使用的应用程序 有些 app 会在 theme 里面插入一些代码,即使 app 未被使用,也可能会加载一些脚本文件, ...

  8. 网络安全—SSL安全访问应用

    文章目录 网络拓扑 部署CA服务器颁发证书 开启Web服务 安装IIS服务 修改Web默认网页 申请Web证书 前提准备 申请文件生成 申请web证书 开始安装web证书 客户机访问web默认网站 使 ...

  9. RESTful风格openapi接口设计+openapi远程服务调用

    我们平常开发一般只使用GET.POST方法.而对于HTTP给出的PUT.DELETE等其他方法都没使用.以RESTful风格设计接口就能全部用上这些方法. 按照RESTful理查德森成熟度模型改造接口 ...

  10. 【c++】const 限定符

    #include <iostream> int main() { using namespace std; cout << "Hello World!\n" ...