/// 设置自定义版本号@property (nonatomic, copy) NSString *appVersion;/// 设置自定义设备唯一标识@property (nonatomic, copy) NSString *deviceIdentifier;/// 自定义用户id@property (nonatomic, copy) NSString *userIdentifier;/// build config,用于拉取不同的配置@property (nonatomic, assign) BuglyBuildConfig buildConfig;/// Bugly Delegate@property (nonatomic, assign) id<BuglyDelegate> delegate;
/// 允许业务带附件到个例上报中/// @param eventType 个例事件类型/// @param customData 业务自定义字段/// @param eventInfo 个例信息,暂为空- (NSDictionary<NSString *, NSString *> *)attachmentForEvent:(NSString *)eventTypecustomData:(BuglyCustomData *)customDataeventInfo:(NSDictionary *)eventInfo;#### 2. 回调 Crash 信息供设置信息Bugly上报Crash异常时可以回调业务,业务可以在回调中加入自定义的逻辑。``` objective-c/*** 发生异常时回调* @param exception 异常信息* @return 返回需上报记录,随异常上报一起上报*/- (NSString * __nullable)attachmentForException:(NSException * __nullable)exception;
/// 自定义 log 函数static void logger_func(RMLoggerLevel level, const char *log) {//handle sdk log.}
// 注册 Bugly 日志输出[Bugly registerLogCallback:logger_func];
/*** 更新设备 id* @param deviceId 设备 id*/+ (void)updateDeviceIdentifier:(NSString *)deviceId;
/*** 更新userId* @param userId 用户id*/+ (void)updateUserIdentifier:(NSString *)userId;
/*** 获取 SDK 版本信息* @return SDK版本号*/+ (NSString *)sdkVersion;
/*** @brief 上报自定义错误** @param category 类型(Cocoa=3,CSharp=4,JS=5,Lua=6)* @param aName 名称* @param aReason 错误原因* @param aStackArray 堆栈* @param info 附加数据* @param terminate 上报后是否退出应用进程*/+ (void)reportExceptionWithCategory:(NSUInteger)categoryname:(NSString *)aNamereason:(NSString *)aReasoncallStack:(NSArray *)aStackArrayextraInfo:(NSDictionary *)infoterminateApp:(BOOL)terminate;
/*** 上报错误** @param error 错误信息*/+ (void)reportError:(NSError *)error;
/*** 上报自定义Objective-C异常** @param exception 异常信息*/+ (void)reportException:(NSException *)exception;
/*** 更新个例标签,需要在 bugly sdk 完成初始化(Bugly setup completeHandler 回调)后调用,否则可能导致数据丢失* SDK版本: 2.7.53.3+* @params tagArr 字符串数组,字符串限长 1024 字节,数组限长 30*/+ (void)updateCaseTags:(NSArray<NSString *> *)tagArr;
/*** 更新业务下钻,需要在 bugly sdk 完成初始化(Bugly setup completeHandler 回调)后调用,否则可能导致数据丢失* SDK版本: 2.7.53.3+* @params tagArr 字符串数组,字符串限长 1024 字节,数组限长 30*/+ (void)updateTestTags:(NSArray<NSString *> *)tagArr;
/*** 设置关键数据,随崩溃信息上报** @param value KEY* @param key VALUE*/+ (void)setUserValue:(NSString *)value forKey:(NSString *)key;
/*** 获取自定义数据** @return 关键数据*/+ (NSDictionary * _Nullable)allUserValues;
/*** 设置自定义附件的绝对路径的集合。* 文件压缩后的大小不大于10M,二次启动时上报。*/+ (void)setAdditionalAttachmentPaths:(NSArray<NSString *>*)pathArray;
/// 更新场景信息/// @param key 场景 id,卡顿、内存、资源监控等功能会根据该值进行聚类+ (void)setScene:(NSString *)key;
/// 结束自定义场景信息,继续使用 RMonitor 自动获取的场景信息+ (void)resetScene;
BuglyCustomData.h),每组10个。应用可以根据需要,选择合适的 Key 上报数据。在控制管理台,用户可以给这些 Key 设置别名,方便查看和分析。对于自定义维度,服务器存储时是每个字段分开存储的。后续可以提供丰富的查询和分析能力。当前支持全局设置,或者数据上报前的回调设置。/*** 添加自定义上报的 tag, SDK 初始化前调用无效* @param data 需要更新的自定义字段*/+ (void)updateCustomData:(BuglyCustomData *)data;/*** 获取当前自定标签的副本信息,若未设置,返回空* @return 已设置的用户自定义字段*/+ (nullable BuglyCustomData *)currentCustomData;/*** 添加自定义数据为特定的事件上报* @param data 需要更新的自定义字段* @param eventType 对应的事件类型*/+ (void)updateCustomData:(BuglyCustomData *)data forEvent:(BuglyEventTypeName)eventType;/*** 获取特定事件的当前自定义数据* @param eventType 需要获取的事件类型* @return 对应已设置的自定义字段*/+ (nullable BuglyCustomData *)currentCustomDataForEvent:(BuglyEventTypeName)eventType;/*** 使用新的自定义字段更新此自定义数据* @param dict 符合 BuglyCustomData 存储格式的字典信息* @return 返回在次数据基础上更新后的新数据*/- (BuglyCustomData *)customDataByUpdateDict:(NSDictionary *)dict;/*** 获取设置的数字类型的自定义数据* @param key 如果 KEY 不在 NumberParamKey 定义中,直接返回0.0* @return 如果有设置,则返回当前值,如果没有设置,返回0.0*/- (nullable NSNumber *)getNumberParam:(BuglyCustomNumberDataKey)key;/*** 设置数字类型的自定义数据* @param key 如果 KEY 不在 NumberParamKey 定义中,则添加失败* @param param NUMBER VALUE*/- (BOOL)putNumberParam:(nullable NSNumber *)param forKey:(BuglyCustomNumberDataKey)key;/*** 获取设置的字符串类型的自定义数据* @param key 如果 KEY 不在 StringParamKey 定义中,直接返回""* @return 如果有设置,则返回当前值,如果没有设置,返回""*/- (nullable NSString *)getStringParam:(BuglyCustomStringDataKey)key;/*** 设置字符串类型的自定义数据* @param key 如果 KEY 不在 StringParamKey 定义中,则添加失败* @param param 长度不能超过 BUGLY_CUSTOM_DATA_MAX_STRING_VALUE_LENGTH* value = null, 则会设置空串* value = 长度超标字符串,则会截取前 BUGLY_CUSTOM_DATA_MAX_STRING_VALUE_LENGTH 个字符设置*/- (BOOL)putStringParam:(nullable NSString *)param forKey:(BuglyCustomStringDataKey)key;/*** 获取字符串数组类型的自定义数据* @param key 如果 KEY 不在 StringArrayParamKey 定义中,则直接返回空列表* @return 如果有设置,则返回相关设置数据,如果没有设置,则直接返回空列表, 返回的 List 不可以修改。*/- (nullable NSArray<NSString *> *)getStringArrayParam:(BuglyCustomArrayDataKey)key;/*** 添加顺序是:A1 -> A2 -> A2 -> A3 -> A4, 这个接口产生的结果类似:[A1, A2, A3, A4]* 为字符串数组类型的自定义数据,增加VALUE* @param key 如果 KEY 不在 StringArrayParamKey 定义中,则添加失败* @param param 非空值,非空串,如果 value 不存在,则添加,如果存在,则直接返回,长度不能超过 BUGLY_CUSTOM_DATA_MAX_STRING_VALUE_LENGTH*/- (BOOL)addStringToStringArrayParam:(NSString *)param forKey:(BuglyCustomArrayDataKey)key;/*** 从字符串数组类型的自定义数据中,移除 VALUE* @param key 如果 KEY 不在 StringArrayParamKey 定义中,则移除失败* @param param 如果 value 存在,则移除,如果不存在,则直接返回*/- (BOOL)removeStringFromStringArrayParam:(NSString *)param forKey:(BuglyCustomArrayDataKey)key;/*** 添加顺序是:A1 -> A2 -> A2 -> A3 -> A4, 这个接口产生的结果类似:[A1, A2, A2, A3, A4]* 为字符串数组类型的自定义数据,增加VALUE* @param key 如果 KEY 不在 StringArrayParamKey 定义中,则添加失败* @param param 长度不能超过 BUGLY_CUSTOM_DATA_MAX_STRING_VALUE_LENGTH, 无论是否存在,都会添加,即可以存在重复的 value* @return value 是空值,空串,或者超长,或者已经达字符串数组最大值,返回失败,否则还回成功*/- (BOOL)addStringToSequence:(NSString *)param forKey:(BuglyCustomArrayDataKey)key;
main 函数执行时间”这段时间变得非常不确定。因此冷启动耗时减去中间这段不确定的时间,调整为:冷启动耗时 = 第一帧 UI 上屏时间 - main 函数执行时间 + App 进程初始化结束时间 - App 进程创建时间。BuglyLaunchMonitorPlugin 的+ (void)startSpan:(NSString *)spanName parentSpanName:(nullable NSString *)parentSpanName,记录自定义场景开始时间戳。[BuglyLaunchMonitorPlugin startSpan:@"testSpan" parentSpanName:nil];
BuglyLaunchMonitorPlugin 的+ (void)endSpan:(NSString *)spanName,记录自定义场景区间结束,请务必跟开启打点的spanName相同,否则记为无效数据。[BuglyLaunchMonitorPlugin endSpan:@"testSpan"];
BuglyLaunchMonitorPlugin的+ (void)endSpanFromLaunch:(NSString *)spanName,记录从进程创建开始统计的 span 耗时。[BuglyLaunchMonitorPlugin endSpanFromLaunch:@"testSpan"];
BuglyLaunchMonitorPlugin 的 - (void)addTag:(NSString *)tagName ,添加一个 tag。BuglyLaunchMonitorPlugin 的 - (void)removeTag:(NSString *)tagName ,删除一个 tag。[BuglyLaunchMonitorPlugin addTag:@"tagTest1"];[BuglyLaunchMonitorPlugin removeTag:@"tagTest1"];
CA::Transaction::commit 结束。所以增加 - (void)endColdLaunch 接口用于业务主动调用声明冷启动已经结束,调用该接口会触发启动数据上报,后续更新tag或者span信息将不会生效。[BuglyLaunchMonitorPlugin endColdLaunch];
文档反馈