Maggie
Maggie

Reputation: 6093

Android app bug reporting

I am aware that there are many bug reporting tools, such as ACRA, that can generate content-rich crash reports.

But my question is: Is it possible to identify bugs that don't cause a crash? For example, I got this user feedback for my app:

Images are very low quality, zoom in to a blurry pixelation because you don't load the full sized image.

This bug doesn't cause a crash; in that case, how can I catch them to improve my app? Because if the user doesn't complain, I am unaware of this problem.

Upvotes: 1

Views: 2835

Answers (4)

Puneet Sharma
Puneet Sharma

Reputation: 21

Try using Bugclipper. Its exactly the thing you are looking for. It allows users/testers to report issues or share feedback from within the app. It allows screenshots and screen recordings with voice. Works good for beta testing of Android & iOS apps.

p.s. - I am one of the founders of Bugclipper.

Upvotes: 0

Andy Joiner
Andy Joiner

Reputation: 6561

Google Mobile App Analytics can report it as an Event

String approxSize=.... //"100K", "500K", "1M"
EasyTracker easyTracker = EasyTracker.getInstance(context);
easyTracker.send(MapBuilder.createEvent("Warning", "Poor quality image", approxSize, 0L).build());

I also report nearly all caught exceptions as an Analytics event - details

Upvotes: 0

koral
koral

Reputation: 2533

ACRA can be used to report unexpected application state as well as Google Analytics but you must do detection on your own.

When unexpected situation is detected it may be reported like this: ACRA.getErrorReporter().handleSilentException(new IllegalStateException("Low image quality: "+imageUrl));

Upvotes: 3

Cat
Cat

Reputation: 67522

You can't. You need some way in your code to detect it and send an event. Google Analytics, for example, allows you to send custom events to your analytics, but they still have to be generated by your code:

public void loadImageToView(ImageView iv) {
    if (/* some criteria */)
        myTracker.sendEvent("bug_report", "image_load", "failed", /* some optional value */);
    // ...
}

You could add a feature in your app that allows user feedback which could send device information as well, but I think that's the best you can do. There is no way to auto-detect bugs in your app.

Further reading:

Upvotes: 4

Related Questions