It seems that a crash report has to survive to many user choices to get to the developer. Below are my options. How can I get the most crash reports, while avoiding frustrating or upsetting the user?

It should be noted that this app is a game, not a casual one, but a game. So my users might not be in need of my app and not be really interested in its improvement.

Default way

Android with Google Play offers a default mechanism for this: after the crash, the following dialog appears. It's up to the good will of the users to send the report and refrain from giving a bad rating to the app on the store.

Moreover, ACRA presumes that the app has permission to access Internet. "For pure offline applications [like my game] , users might even be frightened to grant this permission and can be suspicious about the real goal of the app or the developer" (source). The compromise here is to send the report via email:

report procedure starts (silently or with dialog), users have to choose the email app, this will open with a prefilled report email ready to be sent.

2 Answers
2

Does the report contain any data that might raise privacy concerns? If not, I'd suggest going with the "App crashed, sending report" method - less bother for the user, more data for you to use in debugging. If the answer to that question is yes though, then the notification would be a better option.

As for the permission to access Internet, almost every app, including games, request that permission these days, for various reasons (ads, in-game "social networks", etc.). So as long as you explain why the permission is needed in your app description, you should be good to go.

I would go with the approach of A*pp crashes, temporary onscreen message saying "App crashed, sending report..." (without asking the users)* as that way you can get access to more user information. However ensure that you ask your users up front about their preferences the first time they run the app and ensure your app settings allow them to also turn of the feature of automatic report sending.

You have to realize that crash reports are not the only cause of frustration for users. Users can get frustrated with a number of things such as

The overall user experience

The tendency of an app to run slowly on a particular device

Feature issues

Feature requests

With regards to avoiding other bad reviews, You can incorporate a feature to enable the user to easily provide feedback via a form based approach (within the app) which might help in reducing your bad reviews.