cursor text test hoj la la

cursor circle texty text

Privacy preferences
Essential
Always active
These items are required to enable basic website functionality.
Marketing
These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns.
Personalization
These items allow the website to remember choices you make and provide enhanced, more personal features. For example, a website may provide you with a contact to local sales executive relevant to your area by storing data about your current location.
Analytics
These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Development

Crash-Proofing Your Code: A Guide to Firebase, Bugfender, and Sentry

February 7, 2024
Tomáš Dvořáček
Senior Android Developer

When you own a significant product, releasing it to the public requires more than just hope for the best. Even with developers and testers checking the product, some mistakes usually make their way into production. To identify any user-discovered issues, a monitoring system becomes crucial. These systems play a vital role in maintaining the quality and stability of software applications. While you can implement your solution, there are already numerous tools on the market designed for this purpose, so why reinvent the wheel?

Let's explore some monitoring systems:

Firebase

Managed by Google, this set of tools provides Crashlytics for both fatal and non-fatal crashes in your product, along with analytics and additional features. The tool is available for free; all you need is a Google email account and to configure some settings.

Source: https://deku.posstree.com/en/react-native/firebase-crashlytics/

BugFender

This lesser-known tool handles crash logging and data collection and can also collect user feedback. In the free subscription tier, they offer a limited set of features and 24-hour log retention. For more serious projects, a paid subscription is required.

Source: https://mobilejazz.com/blog/bugfender-2-0-behind-the-scenes/

Sentry

Sentry is a monitoring tool offering a vast array of features. It supports various platforms, including mobile, web, and gaming frameworks, with community support for many more. Sentry tracks event logs and crashes and assists in analyzing them. It also provides insight into the performance of your product, supporting widely used programming languages. Sentry has different subscription tiers; the free tier provides basic features, which may be sufficient for solo developers. The higher the subscription, the more support and metrics your product receives. Check out the detailed features that we particulary like:

Error Tracking and Monitoring

Easy to add to your project, Sentry automatically collects data like device info, web browser info, crash logs, and additional user interactions. The specifics of what is tracked depend on the platform and activated Sentry plugins. For instance, in the Android system, Sentry can track user interactions, HTTP calls, visited screens, and more. This information makes it easier to identify the cause of errors.

Source: https://docs.sentry.io/product/issues/

Real-Time Alerts

Sentry allows you to set alerts based on various conditions. For example, if a completely new error occurs, Sentry can send you an email or trigger a webhook to receive a message in platforms like Slack or Microsoft Teams, enabling a quick response to the issue.

Source: https://docs.sentry.io/product/alerts/

Error Insights

Opening an issue in Sentry reveals device info, product version, details of where and what went wrong, and the actions taken by the app and user before the issue (breadcrumbs). Sentry can also provide statistics about the issue, grouped into categories, making it easier to discover patterns, such as the issue occurring only on Safari browsers or on iOS 16.

Source: https://docs.sentry.io/product/issues/issue-details/error-issues/

Supported Languages and Platforms

Sentry supports numerous programming languages and platforms, making it versatile for use in various products, whether in mobile development using Kotlin or Swift, or web development using React, Angular, ASP.NET, PHP, and more.

Source: https://docs.sentry.io/platforms/

Performance Metrics

With Sentry log collection, you can analyze the performance of specific parts of your product. This includes understanding the performance of web pages, identifying features that consume more time, or pinpointing dropped frames or lags in mobile apps.

Source: https://docs.sentry.io/product/performance/?original_referrer=https%3A%2F%2Fwww.ecosia.org%2F

Ease of Integration

Integrating Sentry's SDK into your product is straightforward, regardless of the platform. Sentry provides tutorials, requiring you to create an account, a new project, and add the provided ID and DNS link to your product. You can then test crashes to ensure they appear in Sentry. Additionally, many existing tools support integration with Sentry, including messaging programs like Slack or Microsoft Teams, project management tools like Jira, and git repositories like GitHub and Bitbucket.

Source: https://docs.sentry.io/?original_referrer=https%3A%2F%2Fwww.ecosia.org%2F
Source: https://www.sentry.io/

Self-hosting Sentry and Pricing

Sentry can be hosted on your server, offering more independence for companies. However, a license fee still applies.

Source: https://sentry.io/pricing/
Pros and Cons of Sentry:

Pros:

  • Specialized for error tracking and analysis
  • Supports a wide range of platforms
  • Offers real-time alerts
  • Provides detailed error insights
  • Supports community and open-source contribution
  • Many third-party integrations

Cons:

  1. Not free; the price depends on the features you need
  2. The abundance of features in Sentry can be overwhelming

This article is the first part of a two-part series. The next article will guide you on setting up Sentry for the Android platform.

Thank you for reading!

What’s next?

Let’s continue the conversation.

Leave us your info so we can keep in touch about product development.

3D representation of discovery track, glass cubes and a metal arrow that spins around them.
Stay in touch
By clicking Submit you're confirming that you agree with our Privacy Policy.
Thank you! We will be in touch.
Oops! Something went wrong while submitting the form.
Development
1 min read

Crash-Proofing Your Code: A Guide to Firebase, Bugfender, and Sentry

Tomáš Dvořáček
Senior Android Developer
Project
1 min read

Transforming ALSA's Support Networks

Cleevio
Company News
Development
1 min read

The Advantages of App Development Outsourcing for Businesses

David Zadražil
CTO