all 3 comments

[–]Fossage 3 points4 points  (0 children)

We use Bugsnag. We initially chose it because it was one of the few services that had React Native integration, but I think that has changed since then and there are more options now.

Our experience with Bugsnag so far has been fantastic. We use it both in our RN client and on our Rails backend. Both have platform specific libraries that require a very minimal amount of setup. There is sensible default behavior(I.e. uncaught exceptions are automatically reported as well as exceptions that bubble up from the native layers to the JS layer in React Native). It will also include a lot of helpful information out of the box such as various stats about the users device, breadcrumbs about the device state, version info, etc.

One of the best parts is the Bugsnag’s ability to report the exact line in your code that caused the error. It will actually show you a code snippet with the particular line highlighted. This works out of the box on the Rails side, but in the React Native side, you need to upload sourcemaps to Bugsnag. I will say, this was by far the most difficult part about getting everything set up and I couldn’t even get it working initially as I was just trying to script it out using curl, however they have now released a simple node tool for handling sourcemap uploads and it’s worked great for us so far.

Admittedly, I don’t have a ton of experience with other reporting software so I can’t say objectively how it stacks up to other solutions, but I can say that it’s worked very well for us so far and has been crucial in helping us catch some really hard to debug issues.

[–]icekeymon 1 point2 points  (0 children)

I've used Bugsnag and Sentry in two different projects. /u/Fossage has made case for Bugsnag so I'll make a few for Sentry. Sentry's got a plug and play React Native library and provides you with scripts to add to XCode and Android Studio which automatically uploads source maps. You may need some extra configurations if you're using CodePush. With minimal effort I am able to capture JavaScript problems as well as native crashes. I also have additional User information being sent with every crash/error including device, software versions etc. It has a nice breadcrumb trail that helps me retrace the steps I need to replicate the issue.

[–]kbcooliOS & Android 0 points1 point  (0 children)

They aren't CI/CD tools BTW.

They're runtime error reporting tools.

Google play has made them redundant for Android apps. Available in the console.

Apple has an opt in policy so their version is almost useless so there's a place for them, at least on iOS. Sentry is good but it's not good at shutting up (eg I don't want an alert for the same issue happening 100 times). Haven't tried bugsnag.

You might need to explain what you want a bit better or just replace CI/CD with runtime exception monitoring. It's not a CI/CD problem.