Skip to main content

快速入门

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

创建应用

  1. 登陆 Bugly专业版

  2. 点击头像,在弹出菜单中,选择 我的产品

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

  4. 提交申请后,留意邮件信息。申请审核通过后,在 我的产品 中,可以看到申请创建的产品。

  5. 成功创建的产品,平台为其分配了AppID及AppKey,作为该产品在平台的凭证。

注意事项
  1. Bundle ID,全称 Bundle Identifier ,也叫应用包名,是应用市场用来区分一款应用的唯一标识,请如实填写。如果有遇到应用包名被其他人注册的情况,请联系Bugly客服。
  2. 请如实填写公司或者组织信息,将有助于通过平台的审核。
  3. 如果应用之前接入过 Bugly免费版,请填写在Bugly免费版上的APPID,平台会分配相同的APPID,以便后续数据迁移。

创建产品

创建产品

购买资源包

  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. 如果对于这个问题的出现还心存疑惑,我们可以通过下钻分析功能,分析其上报的趋势,以及分布特性。

问题列表

问题列表