+
X
Firebase
Products
Use Cases
Pricing
Docs
Support
Home
Products
Use Cases
Pricing
Docs
Support
The Firebase Blog
How Firebase Performance Monitoring optimized app startup time
March 9, 2022
Viswanathan Munisamy Software Engineer Mobile users expect their apps to be fast and responsive, and apps with a slow startup time, especially during coldstart, can leave them feeling frustrated. Firebase Performance Monitoring is a tool that helps you gain insight about various app quality signals, including startup time of your application. This article gives a deep dive into the Firebase Performance Monitoring tool and its impact during an Android application’s cold start. Library impact at startup Modern Android applications perform multiple operations until the application becomes responsive to the user. “Startup time” of an application measures the time between when an application icon is tapped on the device screen, to when the application is responsive. Code executing during startup time includes the application's code, along with code from dependencies that are involved in app startup. Any code that executes until the first frame is drawn is reflected in the time to initial display metric. Many libraries do not need to get initialized during the application startup phase. Some libraries, like Firebase Performance Monitoring, provide value by initializing during the startup phase. It is this early initialization that enables measurement of app start, CPU/Memory impact during early phases of startup, and performance of network requests during application startup. But, this could lead to an increase in the startup time of the application. You can measure the impact of a library during your app’s startup by creating 2 versions of your app (with and w/o the library) and measuring the “time between Application launch to Activity firstFrameDrawn” in both to compare. Firebase Performance Monitoring at startup Firebase Performance Monitoring performs the following tasks during an application cold start: Registers dependencies Configuration management: Controls measuring performance metrics on a percentage of devices by looking at locally cached configurations Firebase Installations: Installation service for each Firebase installed device Initializes the performance library Tracks the startup time of the application Measures detailed system metrics (CPU/Memory) for a fraction of the cold starts (See sessions). Firebase Performance Monitoring does all these without developers needing to add any lines of code to their application. Performance Monitoring app startup time optimization There are many tools available to profile the performance of an application. We used the following tools for measuring the startup time and analyzing the impact of every single method in our library during application cold start. Macrobenchmark is a recent tool launched at Google I/O '21 to measure the startup and runtime performance of your application on physical devices. We used this tool to measure the overall time taken by an application during a cold start. Method tracing enables understanding all the classes/methods that were involved in the runtime of an application. This lists down the different methods that get executed at runtime and the duration each method takes for execution. Due to the overhead of method tracing, the duration of methods as specified in the trace file is bloated. Nonetheless, this duration can be used as a guiding metric to understand the impact of a method. Using the method tracing APIs, we identified multiple opportunities within the application’s lifecycle events to reduce the impact of the library during application startup, including: Content Provider Activity Create Activity onResume We optimized the library in all these phases. Some key optimizations include: In the content provider phase, we moved away from eager initialization to lazy initialization creating components when needed. Eg: dependency initialization. In the phases of activity onCreate() and onResume(), we moved many of the non-essential operations from main thread to run on background thread allowing the main thread to focus on the applications’ needs (#1, #2) Delayed initialization of certain non-urgent firebase performance components to a later time after the application has performed its startup operations. Eg: Event dispatch service Delayed fetching of remote configurations Eg. Firebase Remote Configuration Impact of Firebase Performance Monitoring To benchmark the impact of Firebase Performance Monitoring, we built a simple Android application. Benchmarking performance depends on various factors. To make this measurement close to user needs, we measured the startup time with the following factors. Simple empty android application Samsung 2019 model device Android API Level of the device - API level 29 Macrobenchmark version: 1.1.0-alpha09 (Compilation mode: Full) Firebase performance library version - 20.0.4 We ran the application with and without Firebase performance library to understand the startup time impact caused by the library. We used macrobenchmark to measure the duration of the startup time. For an empty application with the above ground conditions, the table below captures the impact of the application startup before and after the optimizations. With all the above changes, we have been able to reduce the impact of the library during startup time by more than 35%. What’s next? Application startup time improvement is a moving target for all developers. Though device hardware has been dramatically improving in recent years, the challenge of improved startup time performance continues to push barriers. We are continuously investing in reducing the startup time impact. Update your Firebase Performance Monitoring SDK to the recent version to get these recent improvements on startup time, realtime metrics and alerts.
What’s new at Firebase Summit 2021
November 10, 2021
Kristen Richards Group Product Manager Here at Firebase, we believe developers play an instrumental role in helping people learn, live better, go places, and grow businesses. That’s why we’re committed to providing you with integrated, easy-to-use, and extensible tools so you can continue to create experiences that billions of people not only rely on, but love. Millions of apps actively use Firebase every month, created by businesses of all sizes, from startups to global enterprises. Your trust in us is what motivates and inspires us to make Firebase even better. Today, Firebase Summit is returning as a virtual event and we’re excited to unveil updates to our platform that will help you accelerate app development, run your app with confidence, and scale with ease. Read on for more details on what’s new, and don’t forget to check out all of the great content (including technical sessions, demos, pathways, and more) from the summit on our event website! Jump to a particular section if you’re short on time, or read the entire article below. Accelerate app development with new building blocks New Extensions for adding critical e-commerce features in less time Enhanced support for Apple platforms, game engines, and Flutter Strengthening app security with App Check Detailed documentation for upcoming Google Play Safety policies Gain actionable insights to run your app with confidence New real-time alerts in Performance Monitoring Crashlytics adds Application Not Responding (ANR) reports and signals Scale with ease by using powerful engagement tools Unified campaign management for Cloud Messaging and In-App Messaging Remote Config core improvements and beta launch of personalization Accelerate app development with new building blocks Firebase helps you get your app up and running by providing fully-managed infrastructure, with a streamlined experience, that lets you focus on what matters most. New Extensions for adding critical e-commerce features in less time Firebase Extensions are pre-packaged bundles of code that automate common development tasks and let you add functionality to your app in fewer steps. We’ve been partnering with companies you know and trust so you can integrate multiple services without learning new APIs. Our friends at Stripe recently added one-time payments and an SDK to their Run Payments with Stripe extension. Plus, they just launched a new feature that lets you accept over 15 different payment methods including wallets, bank redirects, and "Buy now, Pay later" within your app. We’re also unveiling new Extensions for adding critical e-commerce features to your app in less time. These Extensions can help you ship and track merchandise with ShipEngine, re-engage users who abandon their shopping carts with SendGrid emails or SMS messages via Twilio, and implement search on Cloud Firestore with Elastic. You can even add a single interface to accept payments from multiple providers through Google Pay - which is especially handy if you’re launching your app internationally. For more details, go to the Firebase Extensions page and install them today! And if you need inspiration to get started, check out the code for our sample app on GitHub that uses over 17 different Extensions and view the deployed version at: https://karas-coffee.web.app/. These new Extensions, built by our partners in collaboration with Firebase, help you add e-commerce features to your app much faster Enhanced support for Apple platforms, game engines, and Flutter We’re excited to announce that Firebase now offers beta level support for tvOS and macOS! This means you can use your favorite Firebase products to build and run apps that are compatible with Apple TVs and Macbooks - from a single codebase - and deliver a great, cross-device experience to users with less hassle. For example, when you add the Crashlytics SDK, you can identify critical crashes and even filter crashes by Apple device type or operating system right from the Firebase Crashlytics console. With enhanced support for Apple platforms, you can deliver a smooth cross-device experience If you’re a game developer, you’ll be happy to learn that many of our C++ SDKs now support Apple TV, so you can develop phenomenal Apple Arcade games with Firebase! On top of that, we’re expanding support for game frameworks and engines by making Cloud Firestore available for Unity and C++. This lets you add the power of Cloud Firestore to your game in seconds to store and sync your game data in near real-time, add offline support, and scale your game experience to support thousands of players. Cloud Firestore is now available for Unity and C++, giving you real-time data synchronization capabilities and offline support We’ve also made a number of big improvements to Crashlytics’ Unity and NDK SDKs to make it easier to debug your game’s codebase. Now, Crashlytics tracks a wider range of native crash types, and includes IL2CPP support for Unity games to show more symbolicated C++ frames that can be mapped to your C# code. Finally, with the latest release of Dartpad, Flutter’s online editor, you can use Flutter and Firebase together to develop apps that reach users across platforms with just your browser. Flutter is Google's open source framework for building beautiful, natively compiled, multi-platform apps from a single codebase. It's a natural complement to Firebase's cross-platform backend services. Today, Dartpad supports Cloud Firestore and Firebase Authentication, with other Firebase products coming soon! Go to dartpad.dev and import the Firebase packages to get started. You can also take a look at our sample app. Dartpad, Flutter’s online editor, now gives you support for Firebase right out of the box Strengthening app security with App Check A few months ago, we introduced you to App Check, which provides a powerful layer of security for your backend infrastructure. It does this by attesting that incoming traffic is coming from your app on a legitimate device, and blocking traffic that doesn't have valid credentials. Today, App Check can do even more because we’ve made three major updates. First, you can now use App Check to protect access to Cloud Firestore (with Firestore Web SDK support coming soon), in addition to Cloud Storage for Firebase, Realtime Database and Cloud Functions for Firebase that we announced previously. Second, we’ve added custom server protections so you can use App Check with any custom backend resources. It even integrates with API Management Platforms like Apigee and CDNs like CloudFlare. Third, we’ve expanded the number of attestation providers App Check supports to now include Apple’s app attestation provider App Attest and reCAPTCHA Enterprise. Register your app with App Check today and start enforcing protections through the Firebase console. To learn more about App Check, check out our documentation. App Check protects your app and user data Detailed documentation for upcoming Google Play Safety policies We’re launching detailed documentation that specifies what data each Firebase product collects and shares to help you comply with Google Play’s upcoming safety policies. Our goal is to build upon Google’s commitment to privacy and transparency, and give you a head start to prepare for Google Play’s new data safety section, which launches to app users next year. The above image is an example only and subject to change Gain actionable insights to run your app with confidence With Firebase, you can monitor your app’s performance and stability, test changes, and get insight on how you can resolve issues to deliver the best experience possible. New real-time alerts in Performance Monitoring Firebase Performance Monitoring gathers and presents data about your app’s performance, so you know exactly what’s happening in your app –and when users are experiencing slowness– from their point of view. However, no matter how thoroughly you test your app on your local machine, your app can still run into latency issues because users will access it on different devices, from different countries, and on different network speeds. To keep you informed, we’re releasing a new feature called performance alerts in beta! These new performance alerts will send you an email when your app start time exceeds a given threshold so you can investigate and fix the latency issue as soon as it appears. Performance alerts can be configured from the console and we’ll be adding more alerts for other performance metrics soon. Performance Monitoring’s new real-time alerts will let you know if your app start time slows down Crashlytics adds Application Not Responding (ANR) reports and signals Firebase Crashlytics gives you a complete view into your app’s stability so you can track, prioritize, and resolve bugs before they impact a large number of users. On top of Crashlytics' enhanced support for Apple platforms and game reporting, Crashlytics now reports Application Not Responding (ANRs) errors! According to our research, ANRs account for almost 50% of all unintended application exits on Android, meaning they can be more detrimental to your app’s quality than crashes. To give you a comprehensive view of your app’s stability issues, Crashlytics now reports ANRs and surfaces contextual information about impacted threads so you can pinpoint the cause of the ANR. Crashlytics now reports Application Not Responding errors, giving you a more comprehensive view of app stability We’re also unveiling a new concept in Crashlytics called signals. Signals analyze your crashes to uncover interesting commonalities and characteristics that are helpful for troubleshooting. Today, we’re launching with three signals: early crashes, fresh issues, and repetitive issues. Early crashes refer to crashes that users experience near app start. Fresh issues are new issues in the last 7 days, while repetitive issues are issues that users have been encountering over and over again. Signals are available to both Apple and Android app developers. Check them out during your next app release! Crashlytics signals surface interesting commonalities and characteristics of crashes to improve troubleshooting Scale with ease by using powerful engagement tools As your app grows, Firebase offers the control, automation, and flexibility you need to drive the business outcomes you want, such as increasing engagement and revenue. Unified campaign management for Cloud Messaging and In-App Messaging Firebase Cloud Messaging makes it easy to send targeted, automated, and customized push notifications across platforms so you can reach users even when they aren’t actively using your app. Firebase In-App Messaging gives you the ability to send contextual messages to users who are actively using your app so you can encourage them to complete key in-app actions. These two products go hand-in-hand in keeping users engaged. That’s why we’re thrilled to reveal a redesigned console experience that brings them together. This unified dashboard gives you a holistic view into all of your messaging campaigns, so you can run sophisticated, multi-touch campaigns for different audiences and see how they perform – from one place. For example, you can send a coupon code to users who are predicted to churn to keep them around because both Cloud Messaging and In-App Messaging work seamlessly with Google Analytics’ new Predictive Audiences. To try the new unified dashboard, visit the console and click the “Preview now” button. The unified dashboard for Cloud Messaging and In-App Messaging lets you view and manage your campaigns from one place Remote Config core improvements and beta launch of personalization Another way to retain and delight users is by personalizing the app experience to suit their needs and preferences. With Firebase Remote Config, you can dynamically control and change the way your app looks and behaves without releasing a new version. Today, we’re excited to launch a new Remote Config feature called personalization into beta! Personalization gives you the ability to automatically optimize individual user experiences to maximize the objectives you care about through the power of machine learning. After a simple setup, personalization will continuously find and apply the right app configuration for each user to produce the best outcome, taking the load off of you. Halfbrick, the game studio behind titles like Jetpack Joyride, Dan the Man, and the instant-classic Fruit Ninja, has already used personalization to increase revenue by 16% and boost positive app store ratings by 15%! Ahoy Games, another early customer, tried personalization in a number of their games and successfully grew in-app purchases by 12-13% with little to no effort from their team. Remote Config personalization uses machine learning to help you optimize user experiences to achieve your goals We’ve also made several core improvements to Remote Config, including updating the parameter edit flow to make it easier to change targeting conditions and default values, and adding data type support to strengthen data validation and reduce the risk of pushing a bad value to your users. Finally, we’ve revamped the change history so you can clearly see when and how parameters were last changed. This will help you understand which app configuration changes correlate to changes in key metrics. Go to the Remote Config console to check out these updates and try personalization today! Targeting and data validation improvements in Remote Config Your partner throughout your app’s journey From building your app to optimizing it, we are your partner throughout the entire journey. We aim to make app development faster, easier, and streamline your path to success.You can rely on us to help you make your app the best it can be for users and your business. To get more insight into the announcements we shared above, be sure to check out the technical sessions, codelabs, and demos from Firebase Summit! If you want a sneak peek at what we’ll be launching in 2022, join our Alpha program!
Pinpointing API performance issues with Custom URL Patterns
October 20, 2021
Ibrahim Ulukaya Developer Advocate This article is part of the weekly learning pathways we’re releasing leading up to Firebase Summit. See the full pathway and register for the summit here. Apps and games have evolved rapidly in recent years, and user expectations for high performing apps have increased right alongside them. Today’s users don’t just demand speed and performance — they reward it. A 2019 study found that retail sites saw 8% more conversions when they reduced their mobile site load times by one-tenth of a second. And travel sites boosted conversions by just over 10%. Pinpointing an app’s performance issues can be challenging, especially when the culprit is slow network requests from your dependencies or even your own server. This is where network analysis from Firebase Performance Monitoring can help. Firebase Performance Monitoring helps you understand your app’s performance from the user’s perspective in near real time. You can analyze the performance of each module of your app by monitoring response times, success rates, and payload sizes of your most critical network requests. Let’s look at how we were able to spot performance pitfalls in BingoBlast - Firebase's very own demo app. Automatic aggregation Out-of-the-box, Firebase Performance Monitoring measures each network request that is sent from your app. To surface the most important trends from the vast number of URLs, Firebase automatically aggregates data for similar network requests to representative URL patterns. Furthermore, this aggregation removes all PII (Personal Identifiable Information) such as home address, username, and password so that developers don't need to worry about leaking user information. Firebase displays all URL patterns (including custom URL patterns) and their aggregated data in the Network requests subtab of the traces table, which is the lower half of the Performance dashboard. BingoBlast Auto Aggregate Data. By just integrating Firebase Performance Monitoring into your app, you can quickly see the slowest network requests your app is making and how that performance has changed over time. For BingoBlast, our traces table shows that some network requests have substantial slowdowns in their response time over the past several days, signaling that there might already be issues needing our attention. Although Firebase does a great job at automatically generating URL patterns, at times the specific pattern you're interested in might be hidden under an automated pattern. In those situations, you can create custom URL patterns to monitor specific URL patterns that Firebase isn't capturing with its derived automatic URL pattern matching. Custom URL patterns Custom URL patterns let you specify the patterns that will take precedence over the automatic URL patterns. With custom URL patterns, you can: Track a more specific pattern that you're interested in which might normally be aggregated within a broader pattern. Aggregate a group of related URL patterns that might not have been aggregated automatically. A custom URL pattern consists of the hostname followed by path segments. Subdomains and path segments can be replaced with a * to represent matching with any string. If a request's URL matches more than one custom URL pattern, Firebase Performance Monitoring maps the request to the most specific custom URL pattern based on left-to-right specificity. See the documentation for the full details and syntax available. For example, suppose you configure two custom URL patterns: example.com/books/* example.com/*/dog A request to example.com/books/dog will match against example.com/books/* because book is more specific than *. Tracking a more specific pattern To show how custom URL patterns can be helpful, let's look closer at the data from BingoBlast. Let's say that we're worried that an important configuration API request (api.redhotlabs.com/1.2/config.get) might be causing issues in BingoBlast. But, we're unable to find it in our list of automatic network URL patterns. In this case, Firebase Performance Monitoring has aggregated the configuration API request along with a few other API requests into the api.redhotlabs.com/1.2/* URL pattern. To get better insight into any performance issues this API call might be causing, let's use a custom URL pattern for this specific request. To do this, we just click the Create custom URL pattern button in the traces table, then enter api.redhotlabs.com/1.2/config.get into the dialog. After the new pattern is created, the traces table will start displaying the new custom URL pattern based on new data. Creating a new custom URL pattern. Since this is an important API request and we want to track our improvements to it over time, we can add metrics (like response time) for this new custom URL pattern to our metrics board at the top of the Performance dashboard page. These metrics cards are a great way to provide a quick overview of your most important metrics. Pin your most important metrics to the top of your dashboard. With api.redhotlabs.com/1.2/config.get extracted as its own URL pattern, it's easier to monitor for any unwanted changes in the performance of these requests. We can then take action, like removing the request from the app's critical path or recommending improvements for the backend implementation. Newly added api.redhotlabs.com/1.2/config.get custom URL pattern. Grouping related URL patterns On the other hand, we sometimes want to group related URLs into a single URL pattern. In BingoBlast, we have included a library that plays a short video. However, we noticed that our traces table is showing many separate URL patterns to different googlevideo.com subdomains. Overly precise automated URL patterns for googlevideo.com subdomains. Since we're more concerned about the overall performance of the video requests, as opposed to which specific subdomain they're from, we can create a custom URL pattern *.googlevideo.com/** to aggregate all these URLs into one pattern. This makes it easy to understand the performance for the video and, as a bonus, makes our traces table more tidy! Newly aggregated data for the custom URL pattern for googlevideo.com subdomains. Firebase Performance Monitoring provides a wealth of data on how your users experience your app. By leveraging Firebase’s out-of-the-box automatic URL patterns and tailoring your dashboard with custom URL patterns you’re most interested in, you can easily pinpoint slow performance areas in your apps and quickly boost your app’s responsiveness. Make the most of Firebase View the full learning pathway for additional codelabs, videos and articles on creating fast and stable apps. And don’t forget to register for Firebase Summit, happening November 10th to learn how Firebase can help you accelerate your app development, release with confidence, and scale with ease!
Unlocking your app’s best experience with Firebase Performance Monitoring
August 2, 2021
Nitin Kaushik Engineering Manager This is part of a series of articles about app quality. Here is an overview of all the other articles: The Firebase guide to building stable, high-performing apps Unlocking the next level of app stability with Firebase Crashlytics Apps and games have evolved rapidly in recent years, and user expectations for high performance have increased right alongside them. Today’s users don’t just demand speed and performance — they reward it. A 2019 study found that retail sites saw 8% more conversions when they reduced their mobile site load times by one-tenth of a second. And travel sites boosted conversions by just over 10%. As you reach more users across different devices, locations, OS versions, and networks, optimizing performance becomes even more of a moving target. To understand the unique context behind performance issues, you need actionable insights about your app performance from a user's perspective. With performance data that allows you to spend less time putting out fires, you can devote more time to creating delightful experiences knowing that no bug or glitch will slip through the cracks. With performance data that allows you to spend less time putting out fires, you can devote more time to creating delightful experiences knowing that no bug or glitch will slip through the cracks. In this article, we’ll explore some Firebase Performance Monitoring features that can help you keep an eye on your app’s performance and understand the experience from a user's point of view. Real-time app performance metrics Releasing a new feature that performs well for every user — no matter their location, device, or network speed — can be challenging if you don’t have the timely information you need to gauge performance across a range of variables. When poor performance and low app ratings occur, you need clear insights to deliver an experience worthy of a 5-star review. Firebase Performance Monitoring processes your app performance data in real time so you can monitor new releases during development and post-launch. For instance, you can gather performance data from Firebase Emulators or virtual devices on Firebase Test Lab to test your app locally before launch. And after launch, you can get insights about metrics related to screen rendering and network requests to learn how your app is performing among different user segments. By learning how your app responds for different groups of users, you can quickly take action to fix any errors and ensure users won’t delete your app to find one that works better on their device. Performance Monitoring dashboard highlighting real-time metrics Customizable Metrics Board In the first blog post of this series, we highlighted some standard app performance metrics to keep top-of-mind, such as app start-up time, screen rendering performance, and network performance. However, sometimes the influx of real-time data after a big release can feel overwhelming, and identifying where you should focus and take action can be a daunting task. With the revamped Performance Monitoring dashboard, you can customize your app performance metrics board to highlight the most important metrics for your app. For example, if you’re releasing updates on a shopping app, you can select and track slow-rendering frames on the checkout screens. This helps ensure your customers are enjoying a seamless experience from start to finish. You can also break down your key metrics by country, device, app versions, and OS level for a deeper dive into your performance data. By learning how quickly your app responds for different groups of users, you can take action to fix latency issues and ensure users won’t delete your app to find one that works better on their device. Additionally, Performance Monitoring allows you to implement custom code traces, which help monitor the performance of your app between two points in time. You can also create your own traces to capture performance data associated with specific code in your app. For example, you could use custom code traces to measure how long it takes your app to load a set of images and make sure the graphics aren’t causing too much lag. Compare performance between app versions Retaining a diverse user base isn’t easy without understanding how specific user segments are engaging with your app — especially when their experience isn’t up to par. To make sure every new release performs at its best once it reaches a large number of users, you can use the new Performance Monitoring dashboard to identify app performance changes that need immediate attention. The metrics board enables metric performance tracking across versions. If your latest release calls a new API at start-up, you can track latencies in app start time between the latest version of your app and previous versions. The traces table is especially helpful to understand how your traces are trending across selected time ranges. That means you no longer have to wait for app store reviews or support tickets to know when your app performance is lagging. Performance Monitoring traces table Track trends, regressions, and severe issues One of the most important ways to grow and engage your audience is by constantly releasing new features and updates to your app. But any code or configuration changes to your app or any of its many dependencies carry a risk of degrading your app’s performance or causing issues with user experience. For example, if your e-commerce app makes dozens of API calls to fetch your catalog and product details, users might experience frustrating lags during their shopping experience. By tracking trends and regressions with Performance Monitoring, you can quickly act on the most critical issues and get ahead of low ratings on the app store. Improve user retention with Performance Monitoring GameNexa Studios, an India-based app developer, seized an opportunity to invest in improving its app quality when their ad sales were disrupted by COVID-19. By combining Firebase Performance Monitoring and Firebase Crashlytics, the team gained actionable insights about its user base and improved their most popular app’s experience across the board. And by reducing the number of performance issues affecting its users, GameNexa ended up boosting both user retention and session duration, and increased in-app purchases by 2.5X. Stay ahead of app stability and performance issues To deliver the fast, consistent experience app that users expect, you need a strategy backed by tools that help you act quickly and fix significant issues on the fly. With detailed, actionable data and insights from Firebase, app developers and product managers can make smarter decisions before launch, tackle urgent issues swiftly after releasing an update, and quickly and confidently roll out new features that keep users coming back. To get started with Firebase Performance Monitoring, integrate the Performance Monitoring SDK into your app and identify the metrics that matter most to your app’s success.
The Firebase guide to building stable, high-performing apps
July 22, 2021
Posted by the Firebase team This is an introduction to a three part blog post series on app quality exploring how to unlock app stability and app performance for the optimal app experience. Find links to the other articles at the end of this blog post. Stability and performance are the core of every successful app. Fast, crash-free experiences encourage users to stay engaged and drive positive reviews. That’s why keeping a close eye on your app’s stability is crucial for competing in today’s thriving app marketplace. Why quality matters Users expect the best experience every time they interact with an app. And if bugs or latency issues get in the way, they’ll be quick to find a better option. Research has shown 88% of app users will abandon apps based on bugs and glitches. And within that group, 51% of users said they’d abandon an app completely if they experienced one or more bugs per day. Not only is quality important to retaining users, but it’s important for attracting new users as well. If a large percentage of users are frustrated and your app store listing is filled with negative feedback about performance issues, you might have trouble acquiring new users. In fact, 54% of users who left a 1-star review in the Play Store mentioned app stability and bugs.1 It’s no wonder that stability and performance are top areas of focus for developers. Our own Firebase research shows that a top need for developers is to obtain the tools and services that help them debug technical issues, trace issues back to changes in their code, and detect technical performance issues. Identifying the right metrics A large portion of the pre-launch development for a new app is spent squashing bugs and testing for potential issues. But getting your app ready for launch is just the first step — once it’s out in the world, maintaining your app’s health becomes an ongoing process as you create new features and iterate on previous versions. It's important to remember that app quality isn’t one-size-fits-all. Depending on the type of app and how you define success, you’ll want to prioritize the factors that are crucial for your business. With Firebase’s customized reporting tools and real-time insights, you can hone in on the metrics that matter most. For instance, in a productivity app — where users want a clean, simple interface and the ability to use it on the go — slow response time and high error rates will cause many users to drop off. Conversely, users might tolerate a bit of lag between menu screens in a food delivery app. But if it crashes every time they reach the checkout screen, your in-app revenue is sure to suffer. No matter what type of app you have, here are a few of the most notable quality metrics that successful apps get right: App startup time: How long it takes from the moment a user opens your app to the moment they can use it. Crash-free users: The percentage of unique users who don’t experience a crash over a selected time period. Screen performance: Measures how a screen refreshes and updates for an app with a focus on key metrics such as frozen and slow frames Network performance: Measures how network data is fetched onto a device including profile details, app data, streaming data, etc Monitoring metrics like these can mean the difference between driving downloads and retaining satisfied users versus seeing churn and negative reviews from dissatisfied users. Boosting app stability and performance with real-time insights To stay ahead in such a dynamic app ecosystem, you need to know precisely where stability and performance issues occur in your app. In the next two blog posts of this series, we’ll spotlight two Firebase products that can help you detect crashes in your app and gather actionable insight about your app’s performance from a user’s perspective. Unlocking the next level of app stability with Firebase Crashlytics Unlocking your app’s best experience with Firebase Performance Monitoring Sources Google Play, May 2021.
What’s new from Firebase at Google I/O 2021
May 18, 2021
Kristen Richards Group Product Manager After taking a hiatus in 2020, Google I/O is back and we’re excited to take part in this revamped, digital event to share the updates we’ve made to Firebase. Over the past year, apps helped us adapt and thrive in our new circumstances, and apps will no doubt continue to play an important role for many years to come. Our mission is to empower developers like you to succeed by providing the resources and technology you need to unblock innovation in ways big and small, so you can focus on building and scaling the apps that people rely on. We’re happy to share that now, over 3 million apps actively use Firebase every month, including large global businesses and fast-growing startups. Your trust in us is what motivates us to make Firebase even better. Today at Google I/O 2021, we’re unveiling updates to our platform that will help you accelerate app development, run your app more effectively, and optimize your user experience so you can grow your business. Read on for more, and don’t forget to check out the What’s New in Firebase session. Hop to a particular section if you’re short on time, or read the entire blog. Accelerate app development with new building blocks The Storage Emulator joins the Emulator Suite for broader backend coverage Firebase App Distribution now supports Android App Bundles for streamlined testing Strengthening app security with App Check New modularized Web SDKs improve load times More Extensions for adding features and functionality Gain actionable insights to run your app efficiently Enhanced search, filtering, and games reporting in Crashlytics Unveiling realtime data for Performance Monitoring and a revamped dashboard Optimize your user experience to scale with ease Remote Config updates help you better visualize and optimize your app configuration Accelerate app development with new building blocks We’re continuing to invest in tools that save you time so you can focus on the things you love and deliver value to your users, faster. The Storage Emulator joins the Emulator Suite for broader backend coverage The Emulator Suite lets you run emulated versions of our backend products on your own machine, enabling rapid iteration without interfering with production data or incurring costs. A few months ago, we added support for Firebase Authentication and now, we’re pleased to announce that Cloud Storage for Firebase is also joining the Emulator Suite, giving you broader coverage of our backend products. With the Storage Emulator, you can upload, download, and modify files as you would in production. It also interacts seamlessly with the other emulators, so you can trigger Cloud Functions for Firebase and protect access to your files with Firebase Authentication, all while developing and testing locally on your desktop machine. To use the Emulator Suite, download the Firebase CLI and launch the emulators on your machine or check out our documentation. The Emulator Suite now includes Firebase Storage Firebase App Distribution now supports Android App Bundles for streamlined testing Firebase App Distribution makes it easy to distribute pre-release versions of your app to trusted testers so you can get valuable feedback before launch. App Distribution lets you manage all of your pre-release builds for both iOS and Android in a central hub, and it gives you the flexibility to distribute these builds right from the console or using the command-line tools that are already part of your workflow - like Gradle, Firebase CLI, and fastlane. Today, we’re adding support for Android App Bundles! Now, you can test the actual binaries that Android users install on their devices. App Bundles are the future of publishing on Google Play; by launching this feature, our goal is to make the transition as simple and smooth as possible for you. To learn more about Android App Bundle releases with App Distribution, check out the docs. You can now distribute AAB releases with Firebase App Distribution Strengthening app security with App Check Keeping your infrastructure and users safe is an important priority for us. That’s why we’re excited to announce that App Check, a powerful new security feature, is now available in beta. App Check is an additional layer of security that protects access to your services by verifying that incoming traffic is coming from your app, and blocking traffic that doesn't have valid credentials. Right now, App Check is available for Cloud Storage, Realtime Database, and Cloud Functions for Firebase, and we’ll be expanding it to other products soon! Register your app with App Check and start enforcing protections through the Firebase console. To learn more about App Check, check out our documentation. Start protecting your app and user data with App Check New modularized Web SDKs improve load times In addition to adding a new layer of security, we have just released new versions of all of the Firebase web SDKs to beta. These new SDKs allow you to import only what you need, reducing SDK size up to 80%, which can lead to less code and faster page loads. Download the new modularized SDKs today! More Extensions for adding features and functionality Firebase Extensions are pre-packaged bundles of code that automate common development tasks and let you add new functionality to your app in fewer steps. Now, we’re partnering with companies you know and trust so you can do even more. A few months ago, we worked with Stripe to launch the Run Subscription Payments with Stripe and the Send Invoices using Stripe extensions. We’re pleased to announce new Extensions that help you implement search on Firestore with Algolia, send personalized emails to your customers with MailChimp, communicate with your users with MessageBird, and analyze user generated content with the Perspective API from Jigsaw, all without having to write any code or learn new APIs on your own. For more details, go to the Firebase Extensions page and install them today! Our newest Extensions, built in partnership with other development teams, make it easy to integrate your app with the tools and services you love Gain actionable insights to run your app efficiently Firebase products uncover actionable insights about your app, which you can use to deliver high-quality experiences to your users Enhanced search, filtering, and games reporting in Crashlytics Firebase Crashlytics gives you a complete view into your app’s stability so you can track, prioritize, and resolve bugs before they impact a large number of users. Many of you have instrumented Crashlytics custom keys as a way to gain more context about your app’s crashes. Now, you can find trends across these custom keys and filter down sessions to understand and fix your app’s trickiest crashes with Crashlytics’ new custom keys search and filtering capabilities. You can now search and filter through custom keys in Crashlytics Today, we’re also launching major improvements to Crashlytics to better meet the needs of game developers building natively or via popular game engines such as Unity and Cocos2d. These improvements include increased visibility into a crash’s root cause through more reliable and detailed NDK stack traces, superior grouping of Unity crashes, and by surfacing enhanced device metadata for Unity apps like GPU, DPI, Resolution, and more. This will help you ensure your players get a fun gaming experience that doesn’t abruptly crash. Unveiling realtime data for Performance Monitoring and a revamped dashboard High performance is key to user retention and engagement. Firebase Performance Monitoring gathers and presents data about your app’s performance, so you know exactly what’s happening in your app - and when users are experiencing slowness - from their point of view. Today, we’re excited to announce that Performance Monitoring now processes data in real time! This means you can closely watch your app’s performance during a release or while you’re launching a new feature, and then take action right away if issues arise. Firebase Performance Monitoring now process data in realtime A few months ago, we introduced you to the redesigned, customizable Performance Monitoring dashboard that allows you to bring the metrics you care about most to the forefront. Now, we’ve added a new traces table to this dashboard. The traces table helps you sort, search, and pinpoint the biggest performance changes that need your immediate attention - even if the changes occur in metrics you don’t monitor every day. The fully revamped Performance Monitoring dashboard with realtime data gives you a full picture of your app’s performance in one place. To get the new traces table with realtime data, simply update to the latest Performance Monitoring SDK. The redesigned Performance Monitoring dashboard brings the metrics you care about most to the forefront Optimize your user experience to scale with ease We’ve been working hard to strengthen Firebase Remote Config so as your app and business grow, you can tailor Firebase to suit your sophisticated needs. Remote Config updates help you better visualize and optimize your app configuration Firebase Remote Config lets you dynamically control and change your app so you can set up feature flags, run experiments to test ideas, and deliver personalized experiences, all without releasing a new version of your app. Over the past few months, we’ve made several improvements to help you better visualize your configuration and easily optimize your app to drive the outcomes you want - whether that’s increasing subscriptions like Tapple or Mobills, or boosting ad revenue like Pomelo Games. First, we’ve redesigned the Remote Config console to highlight vital information and give you more flexibility. For example, we’ve increased the length of parameter descriptions, which means you have more space to describe what a parameter does, what values it can take, and whether or not it is safe to change. You can also expand or collapse parameters to see all of its conditional values in one view. Second, we’ve updated the publish flow to make it crystal clear which of your changes are pending, and remind you to publish changes in your newly edited configuration. Third, we’ve completely overhauled the Remote Config A/B test results page to remove unnecessary information and better organize the remaining data so you can act on your experiment results with confidence. The updated A/B test results page makes it easier to understand how your experiments are performing Last but not least, we’re putting the finishing touches on a new feature of Remote Config, called personalization. Personalization will give you the ability to automatically optimize individual user experiences to maximize the objectives you care about - such as revenue or engagement - through the power of machine learning. After a simple setup, personalization will continuously find and apply the right app configuration for each user to produce the best outcome, taking the load off of you. If you want an early look at this feature and to try it out for yourself, join our Alpha program. Coming up next With these improvements to Firebase, we aim to make app development faster, easier, and streamline your path to business success. People are relying on your apps to thrive in our new world, and you can rely on us to help you build, run, and scale your apps. Over the next few days, be sure to check out sessions, workshops, and more we have lined up for Google I/O 2021, and stay tuned for the rest of the year because we’ll have plenty more exciting announcements in the second half of 2021!
About
Firebase gives you the tools and infrastructure to build better apps and grow successful businesses.
Learn more
Popular Posts
Introducing Cloud Firestore: Our New Document Database for Apps
Best Practices: Arrays in Firebase
The beginners guide to React Native and Firebase
Firebase expands to become a unified app platform
Email Verification in Firebase Auth
Archive
▼
2022
(5)
▼
March
(2)
#FirebaserFriday: Frank van Puffelen
How Firebase Performance Monitoring optimized app ...
►
February
(2)
►
January
(1)
►
2021
(41)
►
November
(3)
►
October
(4)
►
September
(4)
►
August
(7)
►
July
(6)
►
June
(4)
►
May
(3)
►
April
(2)
►
March
(2)
►
February
(3)
►
January
(3)
►
2020
(39)
►
December
(1)
►
November
(4)
►
October
(8)
►
September
(4)
►
August
(6)
►
July
(3)
►
June
(4)
►
May
(2)
►
March
(3)
►
February
(1)
►
January
(3)
►
2019
(31)
►
December
(1)
►
November
(4)
►
September
(4)
►
August
(2)
►
July
(3)
►
June
(1)
►
May
(1)
►
April
(4)
►
March
(7)
►
February
(2)
►
January
(2)
►
2018
(55)
►
December
(3)
►
November
(8)
►
October
(1)
►
September
(6)
►
August
(9)
►
July
(1)
►
June
(5)
►
May
(5)
►
April
(4)
►
March
(7)
►
February
(2)
►
January
(4)
►
2017
(86)
►
December
(10)
►
November
(6)
►
October
(5)
►
September
(6)
►
August
(9)
►
July
(6)
►
June
(7)
►
May
(8)
►
April
(5)
►
March
(10)
►
February
(9)
►
January
(5)
►
2016
(66)
►
December
(6)
►
November
(11)
►
October
(9)
►
September
(9)
►
August
(6)
►
July
(6)
►
June
(7)
►
May
(3)
►
April
(1)
►
March
(1)
►
February
(4)
►
January
(3)
►
2015
(24)
►
December
(2)
►
November
(1)
►
October
(4)
►
September
(1)
►
August
(2)
►
July
(2)
►
May
(4)
►
April
(1)
►
March
(5)
►
February
(1)
►
January
(1)
►
2014
(29)
►
December
(3)
►
November
(3)
►
October
(3)
►
September
(1)
►
August
(2)
►
July
(2)
►
June
(1)
►
May
(4)
►
April
(4)
►
March
(2)
►
February
(1)
►
January
(3)
►
2013
(28)
►
December
(3)
►
November
(2)
►
October
(2)
►
September
(1)
►
August
(2)
►
July
(2)
►
June
(3)
►
May
(1)
►
April
(3)
►
March
(6)
►
February
(2)
►
January
(1)
►
2012
(8)
►
December
(2)
►
October
(1)
►
September
(1)
►
July
(1)
►
June
(1)
►
April
(2)
Recent Posts
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载