bugly进阶01-集成bugly时的相关参数
bugly进阶01-集成bugly时的相关参数
前言
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。  ----
@property (nonatomic, assign) id delegate;
不多说了,大家都懂。 ----
@property (nonatomic, assign) BuglyLogLevel reportLogLevel;
控制自定义日志上报等级,默认值为BuglyLogLevelSilent,即关闭日志记录功能。bugly提供了类似于``NSLog``的输出方法,叫做``BLYLog``。而且这个方法在``BuglyConfig.debugMode``为真的时候可以支持在编译器的控制台输出显示,而且无论debugMode是否真假,在上传的日志中点进“跟踪日志”可以查看输出显示;不过这和``NSLog``有所不同的是分为Error、Warn等多个等级。 设置完上报等级之后,就表明bugly将上传该等级以及以上等级的输出,假设你设置的等级为``BuglyLogLevelWarn``,那么上报的输出的等级会包括warn和error这两个等级,而较低的Info、Debug将不会上传。建议设置为```BuglyLogLevelVerbose```,也就是最低等级。 ----
@property (nonatomic, assign) BOOL consolelogEnable;
控制台日志上报开关,默认开启,如果该值为真,并且如果控制台有输出的话,日志中的会有“控制台信息”模块,可以点进去查看控制台的输出(如果按照本文推荐的设置的话你看普通用户上报的日志中在“控制台信息”是不会看到```BLYLog```输出的信息的,你猜是为什么?提示在``BuglyConfig.debugMode``的推荐设置),所以推荐不做修改或者设置为YES。  (开发时如果出现崩溃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、应用版本。
求打赏
(这个求打赏有些丑啊……有什么办法改进一下?)
本文来自博客园,作者:MrYu4,转载请注明原文链接:https://www.cnblogs.com/MrYU4/p/15778880.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了