In my Android app, I'm handling some exceptions so as not to crash the app on runtime, and to allow the user to have some (limited) functionality of the app.
However, I want to be able to view the logs of any handled exceptions on the apps of my users.
I've already looked at a few answers on different ways of doing this (such as this one).
I've found out about:
Google Analytics
Splunk Mint
Fabric
They all seem very similar, so before I jump in and start implementing one of these solutions, my question is: what are the advantages and disadvantages of these tools?
For example, how does Fabric compare to Google Analytics?
Related
This is an information question rather than a technical question. I have an app in Google Market. I need to know stracktrace of errors happens in other phones.
I have investigated but I have not seen anything about it. Does anyone know if Google offers some service to look at the errors that your application is giving in the market and thus to be able to reproduce it?
Thanks in advance!
Well google offers one really powerful tool "Firebase" it provides great analytics and crash reporting. In addition to analytics and crashes it provides others utilities like Cloud-Testing, Push Notifications and many others.
Other popular solution is Crashlytics offered by twitter.
Open your app at the developer console and select "disruptions and ANR". Here you can select on of disruptions you have, then you can see error stack trace!
Or you can use appmetrica from yandex. Link to yandex.metrica It's very simple to integrate yandex.metrica to your app and get all data about crashes and statistic (country, city, android version and so on).
Link to console
I just received reports from some of my users who's running Lollipop, they're saying that my app would crash (with the message: App Stop Working) if they tried to launch it by clicking on my app's icon on their home screen. But if they launch my app from Google Play Store, the app would work without any problem.
What could be the cause of this? If it's any help, here's my app https://play.google.com/store/apps/details?id=com.imincode.meniti
Btw there's no mention of any Crashes/ANR in my Google Play Developer Console.
The issue is you need to get the stack trace. Google Developer console is not sufficient in tracking bugs in your app. It misses the vast majority of in app crashes. I think there are a few options here.
1) I would try replicating this with the emulator and see if you can get the stack trace there.
2) I would embed a high quality crash tracking library in your application to be able to better handle this in the future. Currently I would recommend using Crashlytics. In my opinion they have the best crash reporting library on the market today. ACRA was very good several years ago before professional products came out, but does not hold up compared to modern trackers like Crashlytics.
How can I accept feedback like bug reports, suggestions, and comments from my users in-app?
From what I can tell, the Android platform and Play offer no solutions for issue tracking or forums.
To clarify, I'm not looking for a way to submit crash reports exclusively, and I'm not looking to track user behavior. I'm looking for a way for users to report unexpected behavior, ideas for enhancements, etc.
You could make use of Instabug’s SDK. It includes several features which are
all relevant to your concerns:
Bug reporting - allows users to report bugs through a shake gesture.
Crash Reporting - automatically gets sent whenever one occurs.
In-app Chat - have a live conversation with your users in-app to get
more feedback.
Feature Requests - allow users to suggest new features and upvote existing ideas.
In-App Surveys - Survey your users right inside your app with text multiple choice, or star rating questions.
For full disclosure, I work at Instabug. Let me know if I can help.
For bug reports you can use Airbrake. The good thing about this one is that you can add custom information. Moreover you can send a report at any time in your app (say you found a weird situation that you need to notify about).
For analytics, Flurry worked well for me. It's simple but to the point.
Ultimately, you can use both for the major platforms so that you have everything in one place.
I'm going to try out UserVoice with their REST API.
When we published our Android app we decided to use Airbrake as a 3rd party exception reporting service. I integrated the loopj Airbrake notifier (https://github.com/loopj/airbrake-android) into our app and it seemed to be doing fairly well.
Over the past two weeks we have seen an explosion in downloads and as a result an increase in exceptions being reported. I was getting some really weird exceptions so I decided to look at the Android Developer Console for the application in Google Play. The interesting thing I found was that the number of errors in the Google Play dashboard was less than 10% of the total number I have in Airbrake. Then I decided to double check with Flurry. The number of exceptions that Flurry seems to have encountered is similar to what Airbrake is showing me, which leads me to believe that Flurry gathers these stats in the same way as Airbrake.
So what I want to know and cannot find any good answers to:
What is Google / Android doing differently than a normal uncaught exception handler?
Should I just throw Airbrake out and use the Google Play error reporting only? (Our app does go back to 2.1, but we can live with that)
What is Google / Android doing differently than a normal uncaught exception handler?
Among other things, they only log the exception to the server if the user clicks the "Report..." button, AFAIK. Since many users will not do that, you will get a subset of the actual exceptions that occur.
I have an App available in the Android Market.
From time to time i get error reports in the Developer Console. For about 6 month there have been no more stack-traces visible. At first I though no more post-froyo bugs: 'yay'!
Recently I did some testing using a droid 2 which I am sure is not pre-froyo, I ran into an error, reported it, and never received this report in the Console.
Did I miss some configuration or option that enables me to receive stacktraces?
Is there something I can do about it?
I have no idea why you don't receive stack traces anymore nor how could you enable them. I have always felt Android Market is a somewhat unreliable service: reports are not accurate, downloads/active counts randomly change at times, crash reports not received, and so on.
However, I have suggestions how to implement similar functionality yourself and with a more reliable fashion: How do I obtain crash-data from my Android application?
Basically there are two options:
Use an existing component (like acra)
DIY by catching all uncaught exceptions.
(So you would have an option should you fail to receive a real solution)
I'd suggest you to stop listening to android market and work with other tools.
You should consider using a crash report tool like http://www.bugsense.com/ which is simple effective and meaningful
NOTE: i am not linked nor affiliated in any way with bugsense owners. I am just a simple user.