Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How much time FCM takes to deliver push notification to a topic of large base

We are planning to implement Topic Messaging via FCM to send PN to our base, I want to know how much time FCM takes to deliver PN to apps via topic:

  1. with 10 million subscribed to a topic
  2. with 50 million subscribed to a topic
  3. with 100 million subscribed to a topic

I understand delivery will depend on apps being online, however we can assume here hypothetical case of every one being online. In other words, I want to understand how does FCM processes sending PN to a topic and how much delay it will/might introduce?

like image 223
Saurabh Avatar asked Mar 07 '19 15:03

Saurabh


People also ask

What is FCM push notifications?

What is FCM? Before FCM, Google had GCM (Google Cloud Messaging), which was a mobile messaging platform. Marketers used it to deliver messages in real-time. Later they upgraded to FCM. If you see how FCM push notification works, it’s exactly the same as GCM, but now you can send ‘web push notifications’ in addition to simple messages.

How to implement FCM Firebase push notification in Android Studio?

Let’s Begin implementation FCM firebase push notification in android studio. Create a new android studio project and name it as FCM push notification Your will get a firebase assistant on the right side of android studio window Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no cost.

What is topic-based push notification and how to integrate it?

In this article, we are going to discuss Topic-Based Push Notification and how to integrate it into the Android app. Topic-Based Push Notification is basically a publish/subscribe model in FCM (Firebase Cloud Messaging) that allows you to send a message to multiple devices that are subscribed to a particular topic.

Is it possible to push notification with predefined delivery date through post?

I need to know if its possible to push a notification with predefined delivery date through a POST request. AL. Show activity on this post. If you're looking for a public API of FCM for a scheduled push or a payload parameter where you can set the push date, unfortunately, there's nothing like it as of the moment.


2 Answers

The messages are enqueue and they will be deliver user by user from Firebase cloud messaging server, you can know the status of those messages at your Firebase Notifications console.

https://firebase.google.com/docs/cloud-messaging/understand-delivery

This video ensures that 95% of your messages will deliver with an average time of 250ms

https://youtu.be/sioEY4tWmLI

From this documentation

Maximum payload for both message types is 4KB, except when sending messages from the Firebase console, which enforces a 1024 character limit.

Another important thing you can find at this documentation

FCM does not guarantee the order of delivery.

Throttling and scaling

Our goal is to always deliver every message sent via FCM. However, delivering every message sometimes results in a poor overall user experience. In other cases, we need to provide boundaries to ensure that FCM provides a scalable service for all senders.

Maximum message rate to a single device

You can send up to 240 messages/minute and 5,000 messages/hour to a single device. This high threshold is meant to allow for short term bursts of traffic, such as when users are interacting rapidly over chat. This limit prevents errors in sending logic from inadvertently draining the battery on a device.

Upstream message limit

We limit upstream messages at 1,500,000/minute per project to avoid overloading upstream destination servers.

We limit upstream messages per device at 1,000/minute to protect against battery drain from bad app behavior.

Fanout throttling

Message fanout is the process of sending a message to multiple devices, such as when you target topics and groups, or use the Notifications composer in the Firebase console.

We limit the number of in-progress message fanouts per project to 1,000. After that, we may reject additional fanout requests until some of the fanouts complete.

The actual achievable fanout rate is influenced by the number of projects requesting fanouts at the same time. A fanout rate of 10,000 QPS for an individual project is not uncommon, but that number is not a guarantee and is a result of the total load on the system. It is important to note that the available fanout capacity is divided among projects and not across fanout requests. So, if your project has two fanouts in progress, then each fanout will only see half of the available fanout rate. The recommended way to maximize your fanout speed is to only have one active fanout in progress at a time.

If you need more information, you can find it at those links I provide.

like image 94
Gastón Saillén Avatar answered Oct 18 '22 02:10

Gastón Saillén


According to the following answers:

How long does it take for a message from Google Cloud Messaging to arrive on device

GCM - How long does it take for push notifications to reach the device?

The push notification should appear instantly when delivered, but you need to take into account the internet connection of the user.

like image 1
Peter Haddad Avatar answered Oct 18 '22 02:10

Peter Haddad