Skip to main content

快速接入

本文介绍如何快速接入Bugly专业版。

创建应用

  1. 登陆 Bugly专业版

  2. 点击头像,在弹出菜单中,选择 我的产品 ,进入「我的产品列表」页。

  3. 我的产品列表 页,点击 创建产品,按要求填写相关信息。

  4. 成功创建产品后,可以看到平台为其分配的AppIDAppKey,作为该产品在平台的凭证。

温馨提醒

如果你之前在 Bugly 免费版已经有产品,并希望在接入专业版后,将免费版的数据导入到专业版进行分析,请联系 Bugly客户经理,我们会为你安排专属的数据迁移和产品创建流程。

创建产品

创建产品

购买资源包

  1. 在Bugly专业版本,成功创建产品后,还需要为其购买并绑定资源包,才能使用新创建的产品上报数据。
  2. 如果产品没有绑定生效中的资源包,或者绑定的资源包已经用完,则该产品无法上报数据。
注意事项

需要为创建的产品购买并绑定资源包,该产品才能上报数据,控制管理台才能查看到相关数据。

购买资源包 购买资源包

接入SDK

创建产品成功后,我们参考各平台的SDK接入指引,在应用中集成Bugly专业版SDK。

检查上报

应用按指引接入Bugly专业版SDK后,模拟/触发相关的事件,检查上报流程。Bugly专业版当前支持崩溃监控ANR监控OOM监控错误监控启动监控卡顿监控以及内存监控

不同的监控功能,数据上报逻辑有些差异。对于异常退出类的监控,默认全开启,Bugly SDK捕获异常后,立即上报,或者应用下次启动再上报。对于性能类的监控,默认采样开启,应用可以根据自身情况,创建配置任务,选择恰当的采样率。

崩溃监控

默认全开启,暂不支持采样。用户可以模拟崩溃,并在崩溃发生后重启应用,在 崩溃/问题列表 检查是否包含相关上报。

Android平台示例代码:

public void testNPECrash() {
String value = null;
System.out.println("Length of str is: " + value.length());
}

iOS平台示例代码:

- (void)testNPECrash {
NSString *str = nil;
NSInteger length = [str length];
NSLog(@"Length of str is: %ld", length);
}

ANR监控

Android的ANR监控,默认全开启,暂不支持采样。iOS的ANR监控,默认全开启,支持采样。通过在UI线程,执行一个长耗时任务(例如直接sleep 20s),来模拟ANR。因应用无响应被系统杀死后,重启应用,在 ANR/问题列表 检查是否包含相关上报。

Android平台示例代码:

public void testANR() {
try {
Thread.sleep(20000); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
}

iOS平台示例代码:

- (void)startLongRunningTask {
dispatch_async(dispatch_get_main_queue(), ^{
// 模拟长时间运行的任务
[NSThread sleepForTimeInterval:20.0];
});
}

OOM监控

Android的OOM监控,默认全开启,暂不支持采样。iOS的OOM监控,默认全开启,支持采样。可以模拟一个内存溢出的场景,不断分配内存而且不释放,最终导致应用因OOM被系统杀死。重启应用,在 OOM/问题列表 检查是否包含相关上报。

Android平台示例代码:

public void simulateOOM() {
List<byte[]> list = new ArrayList<>();
while (true) {
byte[] bytes = new byte[1024 * 1024]; // 分配1MB的内存
list.add(bytes);
}
}

iOS平台示例代码:

- (void)simulateFOOM {
NSMutableArray *array = [NSMutableArray array];
while (true) {
@autoreleasepool {
NSString *string = [NSString stringWithFormat:@"%d", arc4random_uniform(1000000)];
[array addObject:string];
}
}
}

错误监控

错误监控默认全开启,暂不支持采样。Bugly SDK提供了一组接口,支持应用上报自己定义的异常及捕获的异常,这些异常被称为错误。对于错误的上报模拟,请查看各平台的SDK接入指引。

应用主动调用错误上报接口,上报数据后,无需重启应用,直接在 错误/问题列表 检查是否包含相关上报。

性能监控

Bugly专业版当前支持的性能监控包含卡顿监控,启动监控,以及内存监控。性能监控都支持采样,默认不开启,需要用户在 设置/SDK配置 中创建配置任务,指定各性能监控项的采样率,详细请查看 《SDK配置使用说明》

  1. 在测试阶段,为了方便测试,建议创建专门的白名单测试任务,所有监控功能设置为全采样,即"sample_ratio"以及"event_sample_ratio"设置为1。
  2. 配置调整后,一般需要等待10分钟才能生效。为了确保配置生效,建议在修改配置10分钟后,开启应用,等待几分钟后再重启应用。
  3. 允许开启启动监控后,应用启动时,启动监控会自动开启,并在SDK初始化完成后,进行启动数据上报。
  4. 卡顿和内存指标,开启监控后,收集应用本次运行的数据,下次启动时再上报数据。
  5. 卡顿和内存的问题监控,开启监控后,当监控到相关异常个例时,wifi条件下立即上报,非wifi条件下,先本地缓存数据,应用下次启动后再上报数据。
  6. 详细请参考各平台的SDK接入指引。

查看数据

数据上报成功后,可以在 Bugly专业版 的控制管理台看到相关数据。

如下图所示:

  1. 左边的是菜单栏,包含了各监控功能的入口。
  2. 每类监控功能都包含概览/指标分析,问题列表,以及问题详情。

菜单

异常概览

异常概览中包含崩溃,错误,ANR以及OOM等质量监控的指标分析数据。当前支持实时数据分析,异常趋势分析,以及异常的统计分布。

异常概览

指标分析

指标分析包含卡顿,内存以及启动的指标分析数据。当前支持指标趋势分析,对比分析,以及多维分析。

性能指标分析

问题列表

无论是崩溃,错误,ANR以及OOM等质量监控,还是卡顿、内存、启动等的性能监控,都包含问题列表。监控到异常后,SDK会采集现场信息并上报给服务器。服务器收到数据后,处理链路会提取上报个例的特征,将相同特征的个例聚合在一起,形成Issue(即问题)。问题列表展示这些Issue,并提供丰富的搜索能力,方便用户分析以及查询。

问题列表的常用使用步骤:

  1. 根据分析需要,编辑搜索条件,用户还可以选择只显示常用的搜索条件,将不常用的条件隐藏;
  2. 编辑完搜索条件后,点击查询,提交查询任务;
  3. 完成搜索后,页面自动刷新,更新搜索结果;
  4. 点击查看某个问题的详情;

问题列表

问题详情

问题详情展示一个具体Issue的详细情况。一般而言,我们查看问题详情是为了了解,导致异常的原因是什么。

  1. 首先我们会分析出错堆栈。在个例详情,选择某个个例,分析其出错堆栈。
  2. 如果出错堆栈还不足以帮忙我们定义问题,我们还有可能要借助日志,FD信息,进程信息或者甚至附件中的信息。
  3. 如果对于这个问题的出现还心存疑惑,我们可以通过下钻分析功能,分析其上报的趋势,以及分布特性。

问题列表

问题列表