Hacker News new | ask | show | jobs
Ask HN: Alternative to Firebase FCM
22 points by diazc 1093 days ago
This is the message I received from Firebase on FCM deprecation:

"We’re writing to let you know that starting June 20, 2024 the legacy Firebase Cloud Messaging (FCM) APIs will be discontinued.

What do you need to know?

On June 20, 2024, we’re reducing the number of Firebase Cloud Messaging (FCM) legacy register APIs and legacy send APIs that provide similar functionality. This step will allow us to provide you with a more consistent experience and align with Google security standards to improve security, reliability and performance.

Because of these API decommissions, some already-deprecated SDKs and features will stop working after June 20, 2024.

Please consult the tables below to find which Firebase Cloud Messaging (FCM) APIs and corresponding services/SDKs/features will be discontinued and replaced with new alternatives.

This one is more relevant to me in the email

Discontinued Send API: Batch send API

Decommissioned service: Including multiple send requests in a single HTTP request to FCM known as Batch Send.

New alternative: Send messages via the HTTP v1 API, which has been optimized for fanout performance."

The deprecations are listed here:

https://firebase.google.com/support/faq#fcm-23-deprecation

I believe the topics solution they have isn't reliable for me as I have around 50,000 users on an application I work on and I send time sensitive notifications to them on a daily basis.

Is there an alternative to FCM that allows me to send to multiple devices at once almost instantly, perhaps like how WhatsApp or Twitter does their notifications?

Thanks.

4 comments

Hi! I'm the co-founder of OneSignal, a push notification and marketing automation service.

Here are some of the batching mechanisms we support:

1. Sending to a list of devices based on push tokens, onesignal identifier, or your own customer identifers.

2. Sending to a segment that you create via our dashboard or API. Segments can combine filters such as device type, language, country code, activity in your application, or custom attributes you define

3. Sending to a list based on filters that you provide to our API "eg: Send to all devices that have launched my app in the last week"

4. Automated Messages - Automatically send messages to devices that match certain criteria (e.g. adding an item to their cart)

In addition, we provide some useful quality-of-live features, including:

* Idempotent notifications

* Tracking when notifications are received by a device ("Confirmed Delivery")

* Targeting notifications based on a user's interactions with previous messages

* Very fast notification delivery

Here's our API documentation for sending notifications: https://documentation.onesignal.com/reference/create-notific...

We also provide client libraries for most popular programming languages: https://documentation.onesignal.com/docs/ruby-client-sdk

These features are all available on our free plan. Our free plan has no limit on API calls, push tokens, or push messages. It's designed to be equal to or better than Firebase's notification console and FCM API in most dimensions. We also have paid features that provide deeper message analytics, marketing automation features, and other channels (email & sms).

Please feel free to reach out to me directly if you have questions or need help migrating over: george[@]onesignal.com

^ Seconding this. I'm a happy user at OneSignal. Great service and the developer experience is top notch. I've been chatting up OneSignal staff to get technical assistance on their Discord chat and via email. As a business, having a reliable technical developer support team who responds quickly is important to me.
Long time OneSignal user. Thank you for an amazing service!
I've used OneSignal for several iOS projects - extremely good documentation
I have my own selfhosted https://ntfy.sh instance that I use as my UnifiedPush provider (https://unifiedpush.org/), and to me it feels near instant. But I don't have any knowledge about how good this scales or fits your needs.
I was thinking one need to use Google or Apple services to be able to use pushes, how it can work on self hosted?

Disclaimer: not doing any development, have very blurry understanding on firebase

In very simple terms, you have an app installed on your phone (ntfy) that creates a websocket connection to your ntfy server and waits for notifications. The ntfy server receives these notifications from your Application Backend (via HTTP POST), which would normally send these to Firebase. Then your ntfy app receives the notification and can broadcast these to other apps, which could be your Application that earlier talked to some google services to receive notifications.

The whole point of unifiedpush is, that earlier when people did not want to use Google services in their application, they all needed to listen/poll on their own to some endpoint from the Application backend, which can be quite battery draining when you have multiple apps that do this. With ntfy you have only one app that listens/polls for these and can efficiently send them to the apps which want these notifications, exactly like Google Firebase notifications

clear, thanks!

I guess on Apple ecosystem things are more troublesome for such self-hosting/3rd party solution?

Since you're already in Google Cloud, perhaps try their PubSub. Not sure what features you need but that should cover most.
Amazon SNS or Google Pub/Sub