3.3 KiB
3.3 KiB
BuglyManager 使用说明
概述
BuglyManager
是一个统一的 Bugly 管理类,封装了所有 Bugly 相关操作,提供统一的错误上报和性能监控接口。
主要功能
1. 统一错误上报
- 业务错误上报
- 网络错误上报
- 内购错误上报
- 自定义错误上报
2. 卡顿监听
- 自动检测主线程卡顿
- 支持代理回调通知
- 可配置卡顿阈值
3. 性能监控
- 主线程阻塞检测
- 异常退出检测
- 自定义日志级别
使用方法
1. 初始化配置
// 在 AppDelegate 中配置
#ifdef DEBUG
[[BuglyManager sharedManager] configureWithAppId:@"c937fd00f7" debug:YES];
#else
[[BuglyManager sharedManager] configureWithAppId:@"8627948559" debug:NO];
#endif
2. 设置代理监听卡顿
// 在需要监听卡顿的类中
@interface YourClass : NSObject <BuglyManagerDelegate>
@end
@implementation YourClass
- (void)setupBuglyDelegate {
[BuglyManager sharedManager].delegate = self;
}
- (void)buglyManager:(BuglyManager *)manager didDetectLag:(NSTimeInterval)duration {
NSLog(@"检测到卡顿,持续时间: %.2f 秒", duration);
// TODO: 实现卡顿通知逻辑
}
@end
3. 错误上报
业务错误上报
NSDictionary *context = @{
@"page": @"HomePage",
@"action": @"loadData"
};
[[BuglyManager sharedManager] reportBusinessError:@"数据加载失败"
code:1001
context:context];
网络错误上报
NSDictionary *userInfo = @{
@"requestParams": @{@"userId": @"12345"},
@"responseData": @"服务器错误"
};
[[BuglyManager sharedManager] reportNetworkError:@"user123"
api:@"user/profile"
code:500
userInfo:userInfo];
内购错误上报
NSDictionary *context = @{
@"retryCount": @3,
@"productId": @"com.yumi.coin100"
};
[[BuglyManager sharedManager] reportIAPError:@"user123"
transactionId:@"txn_123456"
orderId:@"order_789"
status:2
context:context];
重构完成情况
✅ 已完成
- 创建
BuglyManager.h
和BuglyManager.m
- 修改
AppDelegate+ThirdConfig.m
使用 BuglyManager - 修改
IAPManager.m
使用 BuglyManager - 修改
HttpRequestHelper.m
使用 BuglyManager - 修改
GiftComboManager.m
使用 BuglyManager - 创建使用示例和文档
🔄 进行中
- 修改
XPGiftPresenter.m
使用 BuglyManager
📋 待完成
- 测试验证所有功能
- 完善卡顿通知逻辑
- 性能优化
优势
- 统一管理:所有 Bugly 相关操作集中在一个类中
- 降低耦合:其他模块无需直接引入 Bugly 头文件
- 易于维护:统一的接口和错误处理逻辑
- 功能扩展:支持卡顿监听和自定义通知
- 向后兼容:保持现有功能完全不变
注意事项
- 确保在真机环境下编译,模拟器可能无法正确导入 Bugly 头文件
- 卡顿监听功能需要在实际设备上测试
- 错误上报是异步操作,不会阻塞主线程
- 建议在 AppDelegate 中尽早初始化 BuglyManager