When choosing between providers for push notifications, mobile application developers often evaluate Firebase Notifications and OneSignal, two of the best push notification platforms on the market.
Both are free to start, but there are big differences between the platforms that should be addressed. Support, feature development and Firebase's cost (which many believe is free), can result in unexpectedly high bills for users who aren't careful.
We built OneSignal because Firebase, like other solutions, fell flat when it came to reliability, ease of use, support, and price.
We've designed OneSignal to be the clear choice for developers looking for either a free service to get started, or an enterprise-level solution for their scaling business.
Read on to see how Firebase stacks up in comparison to OneSignal.
Reliability & Platform Support
Nothing is more important than making sure your notifications are always working smoothly. OneSignal has best-in-class reliability, consistently maintaining above 99.95% uptime for notification delivery. No service is perfect, but OneSignal is transparent with downtime on our public status page and aim for all incidents to be resolved in just a few minutes.
Although Firebase is run by Google, it certainly does not have Google-level reliability. In 2019, Firebase had a 12 day outage that prevented Topic Messaging from working correctly.
Other Firebase products have similarly poor histories, with Crashlytics (A crash reporting tool) recently suffering a 5 day partial outage.
At the time of this post, Firebase has been having an issue with their App Distribution product that prevents many users from getting test builds of apps. The Firebase team has confirmed they are working on the issue, yet it remains unresolved today, more than 77 days later.
All applications on the Android Google Play Store must use the Firebase API to deliver notifications (FCM). OneSignal too leverages the FCM API due to this requirement. However, we make sure to use only the most reliable parts of the API. These API features are usually not affected by the same issues that have affected other parts of the Firebase Platform (For example, we avoid Topic Messaging). We also have a relationship with Google to help troubleshoot anything that goes wrong.
If FCM ever breaks for us it's probably also broken for Facebook, Twitter, and Snapchat. Fortunately, that's very rare.
Whenever possible, OneSignal does not use the FCM API. We opt to always use the most reliable and direct channels possible. OneSignal uses the highly reliable Apple Push Notification Service API to deliver notifications to iOS devices and the Safari Desktop Browser. We use the Web Push protocol for all Web Push messages. We also support other APIs including ADM (Amazon Device Messaging) for Kindle Fire devices, WNS (Windows Notification Service) for Windows Desktop notifications, and HMS for notifications to newer Huawei devices.
If you have users in mainland China, Firebase does not work at all. China's firewall blocks all Google services including Firebase and FCM.
Finally, Firebase does not support delivery of notifications to newer Huawei devices like the P40 that do not include GMS (Google Mobile Services) and require the use of Huawei's HMS service for notifications instead. Huawei is the second largest smartphone manufacturer in the world, outselling Apple and reaching market nearly 20% market share in Europe and 40% in China. OneSignal recently introduced support for HMS to help make sure developers can reliably message all of their users. around the world.
Ease of Use
Both Firebase and OneSignal excel in initial ease of use for mobile developers getting started with notifications.
Firebase's documentation is easy to follow, and the open-source Firebase SDKs have been tested to work well with other plugins and a range of devices. However, in terms of usability, OneSignal comes out ahead of Firebase in several key areas:
Web Push Implementation & Maintenance
Firebase's Web Push support requires significant manual coding and testing. Web Push is a complex technology involving browser Service Workers, an intricate permissions model, and many cross-browser considerations. Setting up Web Push with Firebase requires constant maintenance for new browser changes which makes it something that only experienced developers should take on. We highly discourage companies from using Firebase for web push given the challenges it presents.
OneSignal also has built-in features to implement best practices around requesting user-permission, advanced cross-browser support (including desktop Safari), and more.
Mobile Push Usage & Customizability
Firebase's dashboard for mobile push notifications has been largely unchanged since its initial release. While it shows a preview of the message, the preview is quite inaccurate.
OneSignal aims to make the experience as simple as possible, including providing accurate previews so it's usually not necessary to send the notification to a test device, saving a lot of time.
Firebase also doesn't offer any customization options in their composer, in contrast to OneSignal's rich customization ability for mobile notifications. Each customization option includes detailed in-line help to demonstrate how to use it.
Finally, Firebase offers a very limited set of mobile SDKs. Forcing developers to use less-maintained third party libraries that may have conflicts.
Firebase's First-Party Mobile SDKs:
- Native iOS
- Native Android
OneSignal's First-Party Mobile SDKs:
- Native iOS
- Native Android
- React Native (Including Expo)
- Ionic (Includes Capacitor)
- Solar2D (Previously CoronaSDK)
Firebase's In-App Messaging is painful to use, with little customization options and a clunky UI that makes it very difficult to create nice looking messages.
In comparison, OneSignal provides an elegant, easy to use, and powerful In-App Messaging creation system. OneSignal's in-app messaging system can do everything Firebase does and more, including supporting in-app messages for permission prompts.
Segmentation & Audiences
At first glance, Firebase's Audience creation tool seems easy to use and quite powerful. In theory, developers can create an audience in Firebase and then send messages to the audience.
Unfortunately, there are some major limitations that are not well documented.
First, users are not added or removed in audiences except when they next launch your app. For example, if you create an audience of "In-App Purchasers", only future purchasers will be included. Or if you create an audience of "Users in the United States", it will have zero users initially in the audience. Furthermore, audiences with fewer than 10 users may not work at all when certain filters are used.
This major limitation appears to only be documented in a YouTube video shared by the Firebase team (https://www.youtube.com/watch?v=l9XXU0bYOZc).
When you first create an Audience [in Firebase], it will initially be empty when you're trying to use it with products like Remote Config or Firebase Cloud Messaging. So when you create an Audience, you'll need to wait for the clients to retrieve that Audience definition, and then determine whether or not that user belongs to a specific Audience. Additionally, if your Audience depends on an event being triggered, like making a purchase, you'll need to have that event happen again on the client, before the client decides to place that user into an Audience.
In comparison, OneSignal's sleek segment creation interface operates on the user data already stored by OneSignal and segments are calculated in real-time. Users will never be incorrectly included or incorrectly excluded from a segment. Unlike Firebase, it always works exactly as you would expect and want it to.
OneSignal segments can also be created or edited programmatically from the OneSignal API.
Finally, OneSignal supports viewing exactly who is in a Segment, and exporting that data to a CSV file.
Both Firebase and OneSignal provide powerful APIs for delivery of notifications.
However, the OneSignal APIs go above and beyond, supporting features like data exporting, detailed analytics tracking, real-time data filtering, and more.
OneSignal also provides detailed code examples in every common programming language.
Customer Support & Documentation
Firebase support is extremely limited and the documentation is often lacking. Most support is done through a public forum or StackOverflow, and developers have to hope that another developer helps them out or that it gets the attention of a Firebase staff member.
Unfortunately, most support questions for Firebase go unanswered:
Another option is to fill in a lengthy form to contact the Firebase team, and hope to get a response.
Here's a screenshot of the Firebase support form developers can fill out and hope to get a response to:
Meanwhile, OneSignal provides free support to all clients. While paid client support questions are prioritized for quicker responses, nearly all questions are answered in 24 hours during the business week, and many much faster.
OneSignal also provides a wealth of information in our documentation on common questions, so customers can often help themselves quickly without waiting for us.
Both OneSignal and Firebase offer generous free options, but Firebase users will find themselves needing to pay for things as simple as hosting an image for a notification.
Moreover, Firebase pricing is complicated and can become very expensive without you even realizing it.
We did the math – uploading a 1 Megabyte image and sending it to 1,000,000 devices will cost $150 USD (Firebase charges 0.15 cents per gigabyte of data transfer). If you send that notification to those devices once per day, the cost will be $4,500 per month. Be careful and keep your images very small if you host your images with Firebase!
One organization accidentally spent $30,000 with Firebase in less than 72 hours due to a small coding error.
In comparison, OneSignal offers completely free CDN hosting for notification and in-app notification images for all users.
OneSignal's paid plans are simple to understand and based on your subscriber count. There is no additional cost for API calls, and you'll never have an unexpected bill due to a coding error.
OneSignal is the best choice when it comes to reliability, ease of use, support, and price. OneSignal is a much easier-to-use and more powerful product, enabling companies of all sizes to send smarter, more effective messages.
Our customers agree. Joan Martin from Mobile Jazz says:
"[Why not] use Firebase as a hub for everything, including push notifications? Well, OneSignal does it better."
Ryan McLeod from BlackboxPuzzles found that he couldn't put a percent symbol in his Firebase notification text, and wasn't able to get ahold of the Firebase team for years to troubleshoot the problem. Firebase quietly fixed this problem in May 2020, years after it was originally reported.
G2 also rates OneSignal as a Leader! Real OneSignal users on G2 such as Ahmed S say "OneSignal is the Best !!!" and describes some of the problems it helped solve in comparison to Firebase:
Finally, OneSignal is continuing to improve each day. In the last 4 weeks alone we've been excited to announce features like Advanced Analytics, Influenced Opens, Confirmed Delivery, our Shopify Plugin, and more.
You can sign up for a free OneSignal account on our website. If you're just getting started with OneSignal, we're excited to have you on board!