我知道有许多错误报告工具,例如ACRA,可以生成内容丰富的崩溃报告。
但我的问题是:是否有可能识别不会导致崩溃的错误?例如,我收到了我的应用程序的用户反馈:
图像质量非常低,因为您没有加载完整尺寸的图像,所以放大到模糊的像素化。
此错误不会导致崩溃;在这种情况下,我怎样才能抓住它们来改进我的应用程序?因为如果用户没有抱怨,我不知道这个问题。
答案 0 :(得分:4)
你做不到。您需要在代码中使用某种方法来检测它并发送事件。例如,Google Analytics(分析)allows you to send custom events to your analytics,但它们仍然必须由您的代码生成:
public void loadImageToView(ImageView iv) {
if (/* some criteria */)
myTracker.sendEvent("bug_report", "image_load", "failed", /* some optional value */);
// ...
}
您可以在应用中添加一项功能,允许用户反馈,也可以发送设备信息,但我认为这是您可以做的最好的。无法自动检测应用中的错误。
进一步阅读:
答案 1 :(得分:3)
ACRA可用于报告unexpected application state以及Google Analytics,但您必须自行进行检测。
当检测到意外情况时,可能会报告如下:
ACRA.getErrorReporter().handleSilentException(new IllegalStateException("Low image quality: "+imageUrl));
答案 2 :(得分:0)
您可以使用像blitfeedback这样的库(还有一些我尚未使用它们),它允许我从我的应用程序内部报告错误。
整合或多或少像Flurry。集成后,您可以拍摄快照(或许多),在上面绘图(突出显示问题),添加备注,并将报告发送到您的跟踪器(我的是Jira)或电子邮件帐户。
答案 3 :(得分:0)
Google Mobile App Analytics可以将其报告为Event
String approxSize=.... //"100K", "500K", "1M"
EasyTracker easyTracker = EasyTracker.getInstance(context);
easyTracker.send(MapBuilder.createEvent("Warning", "Poor quality image", approxSize, 0L).build());
我还会将几乎所有被捕获的异常报告为Google Analytics事件 - details
答案 4 :(得分:0)
尝试使用Bugclipper。这正是你要找的东西。它允许用户/测试人员报告问题或在应用程序内共享反馈。它允许使用语音进行屏幕截图和屏幕录制。适用于Android和Android的beta测试iOS应用。
P.S。 - 我是Bugclipper的创始人之一。