4 Questions to Ask When Choosing a Push Notification Provider for a React Native App
Push notifications rock. Twice a day I’m reminded about how I can win some 💰 💰 💰 by playing a trivia game. Or I’m sent a daily news digest. Or Twitter tells me someone I follow liked a tweet (🙄).
But how do I do it in my app? Specifically in my React Native app?
If you’ve looked into push notifications you’ve likely decided you don’t want to manage it all on your own, especially if you’re targeting both iOS and Android.
But that brings up the question — who do I choose? There are a lot of options.
Here’s a few questions to ask yourself.
Question #1: Are you using Expo?
If no, move on to question 2.
If yes, then use their push notification service! A few things about their push notification service
- It’s crazy easy to setup (as with some many things related to Expo).
- There are multiple server sdks to easily integrate with your backend (and a REST API if you’re using something different).
- They’ve got an awesome push notification tool that can help you build push notifications without having to deal with the backend (great for testing & prototyping).
- The doc/guide is incredible clear.
- Oh, and it’s free.
Push Notifications are an important feature to, as "growth hackers" would say, retain and re-engage users and monetize…docs.expo.io
Question #2: Privacy or Price?
If privacy is your #1 priority, move on to question 3.
If price is your #1 priority, I see you as having two primary options (that I’m familiar with, I’m sure there are others).
OneSignal is a service that delivers push notifications. They
- Are free (unlimited devices, unlimited notifications, testing, localization, etc.)
- Are used by a lot of big name companies
- Have a nice API and nice web dashboard (nice for non-developers to be able to send push notifications)
- Have, overall, a great developer experience (speaking from experience)
The con? What they do with your data. They’re a free service — but they’ve got to make money. How? By selling data it collects.
OneSignal makes money by selling data to advertisers and research companies. We also offer paid service options for clients that require increased data privacy.
Is this inherently bad? No! They provide a great service and a great developer experience. But it’s something to consider. They do provide a paid service that require increased data privacy. No personal experience on that front.
OneSignal is a free push notification service designed for mobile apps and websites.onesignal.com
Firebase Cloud Messaging
Firebase Cloud Messaging (Firebase is a Google product) gives you a way to send push notification from within the Google environment. As far as I can tell it’s completely free and you (seemingly) don’t need to be using Firebase in any other capacity to use it.
I don’t have a ton of experience on this front but it seems that third party packages in React Native struggle a bit with integration. I might be wrong on this though.
Correction: I am wrong about this! Chris Bianca mentioned in a comment that there have been changes to the push notification integration in react-native-firebase. More info.
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no…firebase.google.com
Interested in learning some push notification best practices? I put together a quick video sharing a few must-follow rules.
Question #3: Are You in the AWS Ecosystem?
You’ve got a few options here. In a past project I worked with AWS Simple Notification Service (SNS). It’s powerful but, compared to other options, requires much more configuration.
The other drawback is that there isn’t any way to easily send non-system generated messages (no admin interface). It’s cheap to use though!
Learn how Amazon Simple Notification Service (SNS) Pub/Sub messaging and mobile notifications make it easy to scale…aws.amazon.com
Also, in the AWS world is AWS Amplify Push Notifications. This just came out in the last few weeks so I don’t have experience with it but, if you’re using AWS Amplify already, this could be a great option for you!
This guide provides a step-by-step introduction to start working with push notifications in React Native with Amazon…aws.github.io
Question #4: Why Do You Have so Many Questions? 😄
Now that we’re here you’re going to have to do more research and make the decision on your own. There are multiple options that you could choose from (including rolling your own system). I won’t leave you completely hanging though. Here’s some other services and packages that may help you out.
- Urban Airship. Official React Native Library.
- Pushwoosh. Official React Native Library.
- General use push notification package: react-native-push-notification.
Push notifications are hard. Not only setting them up, but knowing how to use them. I put together a quick video sharing some best practices for push notifications. Get it here. Your users will thank you!