我知道有许多错误报告工具,例如ACRA,可以生成内容丰富的崩溃报告。
但我的问题是:是否可以识别不会导致崩溃的错误?例如,我收到了我的应用程序的以下用户反馈:
图像质量非常低,放大到模糊像素,因为您没有加载全尺寸图像。
此错误不会导致崩溃;在这种情况下,我怎样才能抓住他们来改进我的应用程序?因为如果用户不抱怨,我不知道这个问题。
我知道有许多错误报告工具,例如ACRA,可以生成内容丰富的崩溃报告。
但我的问题是:是否可以识别不会导致崩溃的错误?例如,我收到了我的应用程序的以下用户反馈:
图像质量非常低,放大到模糊像素,因为您没有加载全尺寸图像。
此错误不会导致崩溃;在这种情况下,我怎样才能抓住他们来改进我的应用程序?因为如果用户不抱怨,我不知道这个问题。
你不能。您需要在代码中使用某种方法来检测它并发送事件。例如,Google Analytics允许您将自定义事件发送到您的分析,但它们仍然必须由您的代码生成:
public void loadImageToView(ImageView iv) {
if (/* some criteria */)
myTracker.sendEvent("bug_report", "image_load", "failed", /* some optional value */);
// ...
}
您可以在您的应用程序中添加一个功能,允许用户反馈也可以发送设备信息,但我认为这是您能做的最好的。无法自动检测应用程序中的错误。
进一步阅读:
ACRA 可用于报告意外的应用程序状态以及 Google Analytics,但您必须自己进行检测。
当检测到意外情况时,可能会报告如下:
ACRA.getErrorReporter().handleSilentException(new IllegalStateException("Low image quality: "+imageUrl));
Google Mobile App Analytics可以将其报告为事件
String approxSize=.... //"100K", "500K", "1M"
EasyTracker easyTracker = EasyTracker.getInstance(context);
easyTracker.send(MapBuilder.createEvent("Warning", "Poor quality image", approxSize, 0L).build());
我还将几乎所有捕获的异常报告为 Analytics 事件 -详细信息
尝试使用Bugclipper。它正是您正在寻找的东西。它允许用户/测试人员在应用程序内报告问题或分享反馈。它允许屏幕截图和带有语音的屏幕录制。适用于 Android 和 iOS 应用程序的 beta 测试。
ps - 我是 Bugclipper 的创始人之一。