Bugly使用文档
入口介绍
1、点击这里进入腾讯Bugly官网,通过QQ号登录进入。
【图1】
完善开发者信息
点击 "个人信息",如上【图1】 “1”所在位置,进入个人信息配置页【图2】
请按照要求填写邮箱,微信号和手机号号码,也可以更换开发者头像,以上信息便于我们随时跟开发者保持沟通
注册应用
点击 "注册新APP",如上【图1】 “2”所在位置,进入应用注册页面【图3】
请按照要求填写应用名称,选择应用平台、产品类型和产品logo,并配置该产品的管理员和成员
下载SDK和接入指引
点击这里下载 SDK
点击这里进入 iOS应用接入指南
点击这里进入 Android应用接入指南
应用异常首页
点击你希望查看的应用,如【图1】中 “3”所在的位置,进入该应用的异常首页【图4】
在应用异常首页,开发者可以按照异常出现次数或者影响用户人数进行排序,如【图4】中 “2”所在位置,挑选最严重的问题优先解决; 在问题列表中点选所关注的问题,如【图4】中“1”所在位置,进入该问题的详情页,在详情页里可以看到crash的七天趋势波动,发生crash的设备和系统信息,crash的出错线程堆栈,系统日志等信息。
高级搜索页
点击“高级搜索”,如【图4】中“3”所在位置,可以在海量数据中,快速找到关键信息
实时统计页
点击“实时统计”图标,如【图4】中 “4”所在位置,在产品灰度发布时,查看crash实时统计图,可以及时掌握待发布版本的质量状况,决定在发布前解决哪些问题
趋势统计页
点击“趋势统计”图标,如【图4】中 “5”所在位置,在产品发布后,查看crash趋势图统计图,能了解crash变化情况,可按天查看crash的波动情况
自定义标签
通过Bugly提供的标签功能,可以通过自动或手动的方式,给不同的问题添加标签,用于标注问题特性,如:问题发生场景(登录场景、支付场景等),问题主要原因(内存泄漏等),问题负责人等,方便您对问题跟踪过程的管理和统计。
1、为问题手动添加标签
在Bugly平台上手动为某个问题添加的标签,可以归为手动标签类型,是问题的一个自定义参数。
手动添加标签的入口主要有两个:
- 1)在“问题列表”中添加手动标签
- 2)在“问题详情”中添加手动标签
2、上报时自动添加标签
通过SDK提供的接口上报的标签,可以归为自动标签类型,是每个异常发生时上报的自定义参数。
自动添加标签流程:
注:代码集成请务必使用“标签管理”中存在的标签ID,若标签ID不存在,上报的内容不会显示
SDK提供的接口说明:
3、标签管理
入口在“设置-标签管理”,可以对标签进行管理。
4、通过标签查找问题
可以在高级搜索中,通过标签查找到对应的问题,支持多选。
5、通过标签查找异常
可以在异常列表中,通过标签筛选,查找到该问题下有多少异常上报了该标签。
Bugly iOS SDK 接入指南
一. SDK 集成
Bugly提供两种集成方式供iOS开发者选择:
- CocoaPods
- 手动集成
1.1 CocoaPods 集成方式
在工程的Podfile里面添加以下代码:
pod 'Bugly'
保存并运行pod install,然后用后缀为.xcworkspace的文件打开工程。
关于CocoaPods的更多信息请查看CocoaPods官方网站
二. 初始化SDK
2.1 导入头文件
在工程的AppDelegate.m文件导入头文件
#import <Bugly/Bugly.h>
如果是Swift工程,请在对应bridging-header.h中导入
2.2 初始化Bugly
在工程AppDelegate.m的application:didFinishLaunchingWithOptions:方法中初始化Bugly:
-
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Bugly startWithAppId:@"此处替换为你的AppId"]; return YES; }
-
Swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { Bugly.startWithAppId("此处替换为你的AppId") return true }
如果您需要上报iOS Watch2 App或iOS App Extension的异常,请参见Bugly iOS Extension SDK 接入指南。
至此,Xcode工程集成Bugly已完成,接下来可以编译并运行你的Xcode工程。
高级功能
Bugly SDK提供一系列自定义配置或接口供开发者调用,如:
-
文件配置初始化参数
-
自定义日志
-
界面追踪
-
卡顿监控
Bugly iOS SDK 高级功能使用指南
一. 文件配置初始化参数
Bugly支持读取Info.plist文件读取SDK初始化参数,可配置的参数如下:
- Appid - Key: BuglyAppIDString - Value: 字符串类型 - 渠道标识 - Key: BuglyAppChannelString - Value: 字符串类型 - 版本信息 - Key: BuglyAppVersionString - Value: 字符串类型 - 开启Debug信息显示 - Key: BuglyDebugEnable - Value: BOOL类型
如下初始化方式,则会读取Info.plist内添加的key-value配置进行SDK初始化:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 读取Info.plist中的参数初始化SDK [Bugly startWithAppId:nil]; return YES; }
二. 自定义日志
SDK提供自定义日志打印接口,用于记录一些关键的业务调试信息,可以更全面地反应App发生崩溃或异常时的上下文环境。
使用方式与NSLog一致,可定义日志级别以便过滤,日志接口宏定义如下:
BLYLogError(fmt, ...) BLYLogWarn(fmt, ...) BLYLogInfo(fmt, ...) BLYLogDebug(fmt, ...) BLYLogVerbose(fmt, ...) void BLYLog(BuglyLogLevel level, NSString *format, ...); void BLYLogv(BuglyLogLevel level, NSString *format, va_list args);
Bugly iOS 符号表配置
一、介绍
什么是符号表?
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名: 行号>]
为什么要配置符号表?
为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。
举一个实例:
Bugly iOS提供了自动和手动两种方法配置符号表
二、自动配置:XCode + sh脚本
-
符号表提取工具依赖 java 运行环境 java 环境下载
-
下载解压 自动配置符号表 zip 文件
-
把符号表提取工具
buglySymboliOS.jar
保存在~/bin
目录下 (如果用户主目录没有bin
文件夹,请自行创建,如下图所示) -
在 Xcode 工程对应 Target 的
Build Phases
中新增Run Scrpit Phase
1.打开
dSYM_upload.sh
,复制所有内容,在新增的Run Scrpit Phase
中粘贴2.修改新增的
Run Scrpit
中的<YOUR_APP_ID>
为您的 appid,<YOUR_APP_KEY>
为您的 appkey,<YOUR_BUNDLE_ID>
为 app 的 Bundle Id
注意去掉尖括号
脚本默认在 Debug 模式及 模拟器编译 情况下不会上传符号表,在需要上传的时候,请修改下列选项
3.Debug模式编译是否上传,1=上传,0=不上传,默认不上传
UPLOAD_DEBUG_SYMBOLS=0
4.模拟器编译是否上传,1=上传,0=不上传,默认不上传
UPLOAD_SIMULATOR_SYMBOLS=0
至此,自动上传符号表脚本配置完毕,Bugly 会在每次 Xcode 工程编译后自动完成符号表配置工作。
如果不想自动上传模拟器编译后的符号文件,请修改脚本
UPLOAD_SIMULATOR_SYMBOLS=0
三、手动上传
-
下载最新版Bugly iOS符号表工具,其中工具包括:
buglySymboliOS
<Version>
.zip符号表工具iOS版-使用指南
buglySymboliOS.sh(Shell脚本)
buglySymboliOS.jar(Jar包)
-
定位dSYM文件并使用Bugly iOS符号表工具生成符号表文件(xxx.zip)
-
定位dSYM文件方法和工具的使用方法请参考:符号表工具iOS版-使用指南
-
在Bugly的版本管理页面(产品页面 -> 设置 -> 版本管理)上传相应版本的符号表文件,如下图所示:
四、符号表HTTP上传接口
Bugly提供了上传符号表的HTTP(使用HTTP POST方式上传)
- iOS符号表接口:http://bugly.qq.com/upload/dsym
参数说明:
- pid:2
- app:App ID
- key:App Key
- bid:包名(Package Name)
- ver:版本号(需要URL Encode)
- n:符号表文件名(需要URL Encode)
Content‐Type:
- 上传.txt 文件:text/plain
- 上传.zip 文件:application/zip
可以使用Curl工具来上传。
curl --header "Content-Type: application/zip" --data-binary @symbol.zip 'http://bugly.qq.com/upload/dsym?pid=2&app=123456789&key=XXXXXX&bid=com.demo.test&ver=1.0.1&n=symbol.zip' --verbose
-