iOS Google Analytics Crash report - ios

Does anyone know when GoogleAnalytics iOS SDK v3 sends the crash to their servers (when app is on AppStore)?
Does it send when the app crashes, or when the user reopens it?
The problem is that, I'm viewing a lot of crashes from a bug that I think I solved, and on HockeyApp I'm not receiving anymore of these.
Thanks

Some points:
Crash reports are usually send the next time the app starts. Trying to send them at crash time may cause big harm to an app and its data. As far as I know GoogleAnalytics only sends reports on the next startup.
Google Analytics can only catch crashes caused by exceptions! In addition, any other exception handler will NOT be able to catch the exception! This is why you only see reports in Google Analytics but not in HockeyApp. This will happen with any other 3rd party SDK too. Usually the last crash reporting SDK you setup in your app wins.
You can test this yourself by using the CrashProbe open source project and include the SDK or SDKs you want to use. And then monitor the behavior for various crash types.

From my personal experience, Google Analytics is not good in capturing crash report as I think the crash report might not be real time . Personally, I like bugsense and I am using paid version of Bugsense. Its free version is good for most apps as well. May be you can try out the free version.

Related

Flurry Crash Analytics not reporting crashes

I have enabled Flurry crash analytics in my app. My app crashes but it is not reported under the Errors section of Flurry Dashboard , but can be seen as exception logs under the "errors" option of Technical section.
How long will it take to report ?
Regarding Flurry, I dont know if the behavior is sent straightaway. In the case of flurry analytics, is not straightaway and you have to wait sometime. My questions now are : have you configured correctly the application with your flurry key? does the application ask you to send the report once it has happened and you reopen the app? Sometimes, and it happens in all the frameworks like crashlytics, if the app doesnt ask you to send the report, it can mean a hardware problem has happened (external to the app) and it wont be sent to the backend. Take a look in all the steps.

Is it possible to set up both Crashlytics and Flurry crash analytics in the same application?

I am currently working on a project using Crashlytics and I'd like to try Flurry's new crash analytics. I haven't been able to find any information as to whether it's possible to set up both Crashlytics and Flurry error reporting in the same application. Is it possible to run both? Would there be any drawbacks to doing so?
EDIT:
Here's the reply from Flurry:
You can use only 1 crash reporting tool. So, if you have crash analytics, you cannot use any other tool. Else, crash analytics will not report crashes.
Using two crash analytics providers is not recommended for iOS, since Apple only allows you to set one exception handler in your app at a time.
For Android, using multiple crash analytics providers is usually okay.
http://support.flurry.com/index.php?title=Analytics/FAQ/CrashAnalytics#But_I_use_another_Crash_Analytics_SDK.

Capturing and sending crash logs to the server

If there is a crash for an application, can I capture the crash logs and send it to a server right after the crash. I guess my question really is if the app crashed can I use the network api to send some data to the server.
Lots of services out there to do this... HockeyApp & TestFlight spring to mind.
Update: HockeyApp has just released a Mac Application 'HockeyCoach' to allow you to view crash reports within a native App, with awesome functionality like viewing the source code referenced in the crash log etc...
I highly reccomend you check it out: http://hockeyapp.net/releases/hockeycoach/
Yes, there are several solutions that provide this functionality. One of them that I'm intimately familiar with (and works very well) is Apigee's Mobile Analytics (http://apigee.com/docs/enterprise/content/analyze_apps).
One of the important points for dealing with crash logs is to save a copy of your .dSYM. This is needed to symbolicate the crash log.
Try using Crashlytics. Extremely simple to incorporate into app and is completely free.

Is there a way to have our own app to upload its crash repot?

Not sure if that is possible. But what happens is, sometimes our app randomly crashes. We don't know what exactly the problem is. Is there a way for us to get the crash report off user's iphone? By code, or by another app?
Thanks.
You can inject a third party code in your app, which would basically save your crash reports and thereafter you can use them for analysis. The way we do is capture any crash logs and upload them to the app server, which uses the info to display through a user-friendly web Interface (access controlled for admin purposes).
A great open source Crash Reporter library can be found here https://github.com/kstenerud/KSCrash
It's the user who decides from Settings > General > About > Diagnostics & Usage whether to automatically send crash reports or not.
You can also use a third party component to get detailed information about crash events, for example Crittercism.
If you're interested in 3rd party services for crash reporting for iOS it's hard to go past Crashlytics. Very fast crash reporting, simple installation, great response times to queries.
I'd also mention the TestFlight SDK, which is free and easy to use, and allows you to gather crash reports easily from all your testers, and also do remote logging and other stuff. I used it on a location based app I was working on a while ago, and it was very helpful with debugging

Programmatically getting Crash Reports inside an iOS app

I want to access the crash reports of my app inside my app and i need to send the crash reports to a server. I searched in google and I couldn't find any API that helps my purpose but I found there are open source projects like QuincyKit, plcrashreporter for getting the crash reports of the application. If I use these APIs will apple reject my app ?
Thanks in Advance
There is no API from Apple to do that. So the only chance is to use a 3rd party framework which catches the crash when it happens and provides options to further process it afterwords.
There are multiple solutions available, one is QuincyKit. The second part of the answer of Including custom data into iOS crash dumps shows all known solutions and services that you can use.
Note: I am the developer of QuincyKit and also part of the HockeyApp team.
About QuincyKit:
I've used only Flurry, which has crash collection, and there seems to be no problem in using these libraries in your project for the app store.

Resources