# Crasheye是否收费?
永久免费,请放心使用
# 如何添加项目应用成员
# 第一步:
在Crasheye平台Header右侧选择设置进入项目设置系统 (opens new window)
# 第二步:
切换成员管理,点击新增,通过Email进行搜索项目成员并选择用户组信息,Email以英文逗号隔开可同时添加多个成员,点击保存即添加成功(非管理员权限,无法添加成员,可咨询对应项目的管理员,进行添加)
# 如何使用告警功能/ 进行告警?
# 设置
在Crasheye平台 (opens new window) 设置 - 监控设置 - 告警设置 点击添加告警规则
- 满足告警规则后,App的使用次数必须> 0 ,才能触发告警。
- 崩溃问题:项目将(以AppKey作为唯一标识)从此刻开始24小时内(崩溃数、崩溃率、受影响用户数、受影响用户率),发送告警邮件,邮件无上限。
- 异常问题:项目将(以AppKey 作为唯一标识)从此刻开始24小时内(异常数),发送告警邮件,每日最高收到(所有类型的)异常告警邮件上限为9封。
# 同一个崩溃问题/异常问题
- 首次触发告警,大约在10min - 30min 内收到告警邮件;
- 崩溃问题:再次达到告警阈值(与上一次作比较数值不变,不触发告警)隔1个小时后发送第2封邮件;
- 异常问题:再次达到告警阈值(与上一次作比较数值不管有无变化,都会触发告警)每隔1个小时发送1封邮件;
- 崩溃问题:服务每10min左右校验一次告警规则,邮件服务接收告警失败,每0.5min重试1次,重试失败抛异常,达到3次停止重试,结果记录日志。
# 告警功能配置示例图
# 监控项
- 指定版本:
指定一个版本号并且该版本号上报崩溃触发告警规则;指定多个版本号时,任一版本满足告警规则,触发告警。 - 所有版:
所有版本满足告警规则,触发告警。 - 单个版本:
任一版本满足告警规则,触发告警。 - 单个崩溃问题:
当某个崩溃问题,崩溃数超过x时候,触发告警
# 监控指标
- 崩溃率 (推荐):
崩溃率 (%)=崩溃次数/ 使用次数,保留1位小数点 - 受影响用户率(推荐):
受影响用户率(%) = 受影响用户数/ 用户数,保留1位小数点 - 崩溃数:
使用App 发生的闪退数量,整数 - 受影响用户数:
一台设备发生多次闪退,计做一个受影响用户数,整数 - 异常数:
主动上报的 Exception、Error,或脚本(如C#、Lua、JS等)错误,整数
# Crasheye是否会有数据泄漏问题?收集了哪些信息?
所收集的数据都是与崩溃相关,目的是为了给开发者提供真实的崩溃场景,并未收集任何个人隐私信息,且数据分析完成后,只针对该项目成员开放。
常规收集的信息主要包括:
- 崩溃环境:Crash信息及线程堆栈,ROM/RAM、网络环境/系统语言等
- App信息:包名、版本、所属进程名
- 设备信息:设备名称、系统版本、屏幕分辨率
开发者均可以通过打印上报数据日志来查看所有上报内容
# 未上线的应用可以使用吗?
可以
# Crasheye和第三方SDK同时编译会不会有冲突?
可能会有冲突,接入时遇到问题可联系Crasheye或第三方SDK的官方人员,或在相应帮助中查找解决方案
# Crasheye和同类SDK同时使用会不会有冲突?
不会,建议将Crasheye在同类SDK初始化之后再初始化
# 接入Crasheye后会不会影响程序的运行速度?
几乎没有影响,Crasheye只会在应用启动的时候,检查上次是否有崩溃数据需要上传。 若有,则数据经过压缩后再上传,不影响应用的功能。
# 消耗的流量大不大?
Crasheye提供接口设置只在wifi环境下才上报,当不在wifi下产生的宕机文件会保存到本地,等wifi环境下再上传。
据Crasheye的统计,平均每个崩溃的数据传输量在10K左右
# (iOS)接入Crasheye会影响app store发布吗?
不会
# Crasheye支持哪些自定义的功能?
提供了多个功能控制接口和信息记录API:
# 我现在使用我自己的账号登录,由于工作变动可以把登录账号更改了吗?
如果你是“应用所有者”,无法将帐号和应用进行解绑。
建议在创建应用时使用公司产品邮箱,而非个人名字邮箱 。
如果你非“应用所有者”,联系“应用所有者”进行解除关联即可。
# 接入Crasheye之后,对原应用的内存占用和CPU消耗会有多大影响?
接入Crasheye之后,内存占用增加了0.86MB,CPU峰值均为1%,并无影响。
测试方法:使用 TestPlus客户端 (opens new window)性能测试工具,对同一程序在接入Crasheye前后均至少测试三次,每次测试时间不少于30秒,取平均值。
测试数据见下表(测试手机:红米note3):
无Crasheye | 有Crasheye | 增幅 | |
---|---|---|---|
内存 | 32.81MB | 33.67MB | 0.86MB |
CPU峰值 | 1% | 1% | 0% |
# 项目已经接入了Crasheye,但页面显示未接入?
问题排除方法:
# Step1:
访问网络权限是否已经添加:
< uses-permission android:name="android.permission.INTERNET"/>
# Step2:
在logcat搜索是否有以下字符(上报活跃):
NetSender: Sending data to url: http://rp.crasheye.cn/session
# Step3:
查看是否有以下结果:
NetSender: Transmitting result {"ret":0,"msg":"","data":{"appkeyvalid":true}}
若以上3步检查不通过,请查看接入文档重新接入或者联系官方工作人员
# 为什么我的应用崩溃率会超过100%?
有以下两种可能:
- 应用一启动就产生了崩溃,并成功被Crasheye捕获到,但是,报活未完成,由于崩溃堆栈有上报失败缓存功能,而报活无此逻辑,导致在之后的某次上报中,同时上报了多条崩溃,但只有一次报活,在这种情况下,可能会出现崩溃次数大于报活的情况,就终会导致崩溃率会超过100%;
- 应用在服务(service)里初始化了Crasheye,服务在产生崩溃之后,Crasheye会将该崩溃上报,但由于服务启动时是不会进行session(报活),而主程序此时并未崩溃,如果大量出现这种(服务崩溃的)情况就会导致 崩溃数 > 报活数;如果确定需要在服务里收集崩溃,崩溃数大于报活数的现象是属于正常的;
ps:Crasheye为什么不对服务进行报活?服务的崩溃,是不会对主程序功能产生影响的,并且主程序可以随时把服务启动起来,但服务的启动不能算是一次用户的活跃,所以Crasheye才确定不在服务里提供报活。
# 如何通过发生宕机的手机,在页面上查找到对应的宕机信息?
有两种方法可以定位到宕机问题:
# 方法一:通过uid (客户端ID)可以定位到此机器的所有宕机信息
- 手机接入电脑,通过logcat可以查到uid的值,通过此值可以在电脑上查找,如下图的uid为:69d86f0988d898df246e36071bb02baa
- 通过客户端ID可以直接在页面上进行搜索
编号#417的宕机信息就是我们需要搜索的宕机
# 方法二: 通过用户标识定位宕机信息
- 用户标识是在初始化Crasheye的时候设置进来: (可以查看常用API: 设置用户标识 )
- 假如你设置的用户标识为UserByCQF,那么在页面里就可以这么搜索:
页面就会把所有有关UserByCQF这位用户的所有宕机都会列出来