Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I have an app and I need to send massive push notifications per day. About Firebase services, I'll just use the Firebase Cloud Messaging (FCM) part (through my server-side PHP, of course I can't send massive notifications per day by console) and maybe Analytics (both are free of charges, right?).
The Pricing Page doesn't make a good explanation about what is each line below. So I need to know if:
If "Storage Upload operations" is when the app sends to Firebase some data?
If "Storage Download operations" is when the console (or my Server Side) sends to a device/group/all some push notification?
If I'll only use the Cloud Messaging part, is it better buy the BLAZE plan? If yes, what exactly do I have to add at this plan?
First, I think you are confusing the Notification service with the Cloud Messaging service (hence my edit).
Notifications is the part where you get to send Push Notifications through the Firebase Console. Cloud Messaging, is FCM itself, where you can call the APIs and send push notifications from your own App Server.
Firebase Storage is a separate service from both Cloud Messaging, Notifications, and Analytics. The thing is that Firebase Storage is paid and the other three are included free of use, regardless of what plan you are using. As seen in the Pricings Page:
Included Free
Analytics, App Indexing, Authentication, Cloud Messaging, Crash Reporting, Dynamic Links, Invites, Notifications & Remote Config
It does not contribute/add to the count value of usage for the other services.
There are only four paid Firebase products at present:
Firebase Realtime Database
Firebase Storage
Firebase Hosting
Firebase Test Lab
All other products including Firebase Cloud Messaging are free to use. Firebase Storage is a totally separate product from Firebase Cloud Messaging, so this question isn't really relevant.
Related
I am creating an android game where the user should be able to see other users that are currently online when answering questions and should be able to interact with them - ask questions and chat basically. No state will be saved after the user has interacted with other users - that part of the app does not save chat history nor does it save users online. I was looking at ejabberd and open fire or do i go with GCM?
Google Cloud Messaging, now rebranded on it's newer version, Firebase Cloud Messaging -- is a service commonly and mainly used for push notifications. I don't see how you could use this to build a Presence System, so no.
You might want to look into Firebase Realtime Database, specially this Firebase Blog on creating a Presence System with it.
This question already has answers here:
Firebase FCM Usage Limits [closed]
(3 answers)
Closed 5 years ago.
I am trying to implement Firebase messaging service in my Application. The only use I make of firebase is to send data from my own created Web services and on the Android App side to receive these messages.
I don't use any other feature at all. I store the device token IDs on my own Database.
Suppose a million users have installed the App. Will there be any disruptions arising? I can't quite make out what the number of simultaneous connections means on the Pricing page. I am using the SPARK Plan.
The simultaneous connections referred to in the Pricings Page is for Firebase Realtime Database.
Firebase Cloud Messaging is a Free Service (also see my answer here).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
I would like to know if Firebase Cloud Messaging is free or not for unlimited users?
In addition to the answer from AL.
From the Pricing page Faqs:
Which products are paid? Which are free?
Firebase's paid infrastructure products are the Realtime Database,
Firebase Storage, Hosting, and Test Lab. We offer a free tier for all
of these products except Test Lab.
Firebase also has many free products: Analytics, App Indexing,
Authentication, Dynamic Links, Cloud Messaging, Notifications,
Invites, Crash Reporting, &, Remote Config. You can use an unlimited
amount of these in all plans, including our free Spark Plan.
So, it's free. The limit is not mentioned anywhere in the docs, however there's a limit on the Firebase realtime database, as mentioned in the FAQs:
Firebase imposes hard limits on the number of connections to your app's database at the same time. These limits are in place to protect both Firebase and our users from abuse.
The free plan limit is 100, and cannot be raised. The Flame and Blaze
Plans have an initial limit of 10,000 simultaneous database
connections. This is to prevent abuse and can be raised by contacting
Firebase support with 24 hours notice.
This limit isn't the same as the total number of users of your app,
because your users don't all connect at once. We encourage you to
monitor your peak simultaneous database connections and upgrade if
needed.
We're working hard to remove the initial 10,000 simultaneous
connection cap on the Flame and Blaze plans.
So if you are using the Firebase Database to save your User's data and want to send a lot of Push Notifications to your user's devices using the FCM registration token stored in the Firebase Database, you might hit the limit in the free Spark plan, however it's really tough to hit the 10k limit.
From the Firebase Cloud Messaging Docs:
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no cost.
You can refer to the official Firebase Pricings page. From there you will be able to see the types of projects that are available: SPARK, FLAME, BLAZE, to which all of them have FCM (along with Analytics, App Indexing, Authentication, Dynamic Links, Invites, Notifications, Crash Reporting & Remote Config) included for free.
Firebase Cloud Messaging (FCM) Connection Server (CCS) sits between the device and the app server. The following limits apply
From the documentation here, it seems FCM does impose a limit of 1000 connections in parallel.
For each sender ID, FCM allows 1000 connections in parallel.
Sender Id is a unique numerical value created when you create your Firebase project, available in the Cloud Messaging tab of the Firebase console Settings pane. The sender ID is used to identify each app server that can send messages to the client app.
Note: Please correct me if this limit is not about the max connections from an app server to CCS
Secondly, You should also read about Flow Control if you are using the XMPP connection server protocol (which has to be used if using device-to-cloud messaging). There should not be more than 100 unacknowledged messages towards CCS at any single point of time.
If the pending message count reaches 100, the app server should stop sending new messages and wait for CCS to acknowledge some of the existing pending messages
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I have a .Net based backend server which is hosted on Azure. I'm attempting to build an android app with Xamarin. The app will have a chat feature that will allow the users to communicate with each other.
I have been using SignalR for simple real time web tasks and I know much of the same can be achieved with Google Cloud Messaging for android however I have read that SignalR is more reliable than Google Cloud. I'm more in favor of using Google cloud messaging service as it doesn't require constant connection to the back end hence saves battery time. But the only dilemma I have is that whether I would be able to implement the chat for the web.
The idea is to use SignalR for web and Google Cloud Messaging for the android. I will need to make sure that both chat sync. Is it possible to do so? or should I use SignalR for both?
Any help is appreciated!!
Yes, you can use signalR on both platform. I am also using signalR on my application. Even its giving me better service instead of only Google cloud messaging. My one of android application included signalR and GCM both. when my application is foreground i use signalR and when it go to background i use GCM. and still it stable for me. You can try like this
Google cloud messaging (GCM) is not recommended for making chat applications. You should stick with SignalR. Google cloud messaging is usually used for push notifications.
If you really want to use GCM then I will recommend you FCM, but it is a separate solution in contrast to SignalR (& .net)
Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits
the reliable and scalable GCM infrastructure, plus new features! See
the FAQ to learn more. If you are integrating messaging in a new app,
start with FCM. GCM users are strongly recommended to upgrade to FCM,
in order to benefit from new FCM features today and in the future.
Update
GCM (or FCM) will have advantage over signalR considering battery usage.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I have been worked on web apps and recently started working with an app based company. Here I have a case where I need to send GCM to users. I am bit confused that whether I should send GCM directly to users without storing it into my database OR I should store some data of GCM(like gcm message, gcm sent time, gcm status, etc) that has been sent by our app ? If yes, then what could be the best table design to store gcm data in RDBMS ?
I personally feel that I should store it in database so that I can keep track of it in future and might be helpful at time debugging. And at some regular time interval I can remove old GCM data from table.
Whether you save the details or not is up to you. It is possible.
If your goal for storing information of your GCM messages is for Statistics or Diagnosis, Google GCM actually has a Statistics and Diagnostics tool that you can use. However, as per View & diagnose Google Cloud Messaging (GCM) statistics.
GCM statisticss will be available for only published Google Play apps.
Also mentioned in this answer:
Note: Stats on the Google API Console are not enabled for GCM. You must use the Developer Console.
The Developer Console meaning the Google Play Developer Console.
Should you choose to storing the details your own way, answering what would be the best table design is a bit complicated. Since, you have a lot of factors to consider, depending on your use case and other stuff like that in order to decide which one to use.