Firebase sends push notifications every day without active campaigns - firebase

A week ago I experimented with FCM console and sent push messages to my Android device. But after that many (thousands) of users started to receive pushes every day in 23 h. I suppose, this is because of time zone difference. When I look at Cloud Messaging Reports, I see it really sends data notifications. But I even don't have active campaigns (including planned campaigns). How can it be?
UPDATE
I've got answers from Firebase and AppMetrica (an alternative analytics service) support. They say it is possible the app is not able to handle the data message (silent notification) sent.

I saw charts in FCM Reports, showing that every day it delivers data messages. Every day it's count slowly raised.
I've got answers from Firebase and AppMetrica (https://appmetrica.yandex.ru/docs/). Firebase support didn't find a problem, but suspected silent push messages. AppMetrica support found a problem. AppMetrica uses FCM to send push messages. I wrote a code for integration of AppMetrica and FCM incorrectly, so silent pushes haven't been handled right. After I unselected a checkbox in settings that updated tokens via silent push messages, Firebase charts dropped to zero.

Related

FCM web push message received in DevTools, but event not dispatched

I've been working in bulk web push notifications, migrating from OneSignal to Firebase. I've created a single FCM topic to which all users are subscribed immediately on startup.
At first messages arrive on the browser and the notification is shown correctly, but randomly after a few hours and in some devices, notifications cease to show. I've been recording every push message received using DevTools, and noticed that the messages are being received but the push event not dispatched in those cases.
In which cases something like this may happen? It's worth noting that the service worker has been healthly with no errors whatsoever.
Thanks

Firebase cloud messaging message log

In my Android app I receive messages sent using Firebase, the problem is not all messages arrive and sometimes messages arrival is very slow.
In my server side I track the messages I send to FCM and I always receive success: 1 response from FCM, still there are messages I do not receive in my Android app.
I thought an FCM messages log would be a great help in cases like described above but I don't sure if this option exist.
Is there a way to browse Firebase Messages log ?
First of all, did you know that Firebase Cloud Messages can be delayed if the connected device is in doze mode and your app's standby bucket is not high enough to wake up the device? Therefore, even if FCM sends the message to your target device in time, there is still a chance that it will be delayed by the Android platform. Also, if the message is sent with high priority, you might have a chance to wake up the device from doze mode to be able to receive the message in time.
The following two docs will give you a more detailed explanation:
https://developer.android.com/training/monitoring-device-state/doze-standby
https://developer.android.com/topic/performance/power/power-details
Besides, FCM provides three sets of tools to help you get insight into message delivery:
Firebase console message delivery reports (go to Firebase Console -> Messaging -> Reports)
Aggregated Android SDK delivery metrics from the Firebase Cloud Messaging Data API
Comprehensive data export to Google BigQuery
All these three tools can help you understand your message delivery, the following docs have a pretty good explanation about how to use them:
https://medium.com/firebase-developers/what-is-fcm-aggregated-delivery-data-d6d68396b83b
https://firebase.google.com/docs/cloud-messaging/understand-delivery?platform=android#count-data-messages-sent

Firebase console TPS handling of push notification

I have 1 million user base, so if I'm sending push notification through firebase console my active users get increases drastically which causing some trouble at server end for few time. So I have two questions regarding that -
What is the transaction limit(TPS) of firebase for sending notification.
Can I tune transaction limit(TPS) of firebase console according to my requirement?
There isn't any limit to sending notifications with FCM. Although if you are using topics, and you're sending too many messages at a time to a single topic, you might receive the Topics Message Rate Exceeded error from time to time, in which case you could just implement an exponential backoff.
So to answer your questions:
There isn't any.
I'm not sure what you mean by this. The console contains the data about your Firebase project and some features related to interacting with your app (like the Notifications Console), that's about what it could do.

How to View Firebase Notification Delivery Reports?

We use Firebase to send push notifications to both Android and iOS devices. We use Http (not XMPP).
How to get delivery reports for push notifications? We want to check if a push is delivered to devices (both Android and iOS).
I cannot see any stats or reports in Firebase console.
Please help.
As seen in the Possible Duplicate Post I linked, there is currently no available reports for FCM, other than what can be seen in the Firebase Console (if you sent the message using the console) and using the Diagnostics/Statistics tool in your Play Dev Console.
There is no API that retrieves these FCM log details as of the moment. However, there's been a recent improvement in the Firebase Notifications console where stats (sent count only for now) for messages sent using the FCM API is included in the Firebase Notification console stats. From my answer in the similar post:
As of August 2018, stats for messages sent using the FCM API are now visible from the console. From the Cloud Messaging section, click on the Reports tab. From there, you will be able to filter by message type (notification, data, and all)
It would seem that the Impressions and Opens are still only available for messages sent using the console. But Sends for sure now counts the messages sent using the FCM API.
Reference: https://firebase.googleblog.com/2018/08/in-app-messaging-crashlytics.html
Our findings: In order to view statistics for Data messages, the data messages will need to include an analytics label. Check to make sure that these are included. It is just a label, https://firebase.google.com/docs/cloud-messaging/understand-delivery#adding-analytics-labels-to-messages so even without the analytics label, the message should still be sent. It just won't be tracked by their reporting. Data messages do not automatically generate a notification though. Different app states and message types will have different message receiving behavior. A data message should be received in onMessage or setBackgroundMessageHandler for JavaScript clients. Try checking these callbacks to see if the message is received there. I'd highly recommend checking out the quickstart, which should be working fine. You can use it as a base to build off or reference to compare with your app to identify potential problem areas. So our understanding is that it needs to be handled properly on the mobile end, https://firebase.google.com/docs/cloud-messaging/js/receive (though this is the javascript client, it will still apply to mobile).
You can rather go to the Google cloud console to check messages sent.
Select period from available options on top right of the page.
https://console.cloud.google.com/apis/dashboard?folder=&organizationId=&project=[project-name]
The delivery report added to the FCM:
Received (available only on Android devices) — The data message or notification message has been received by the app. This data is available when the receiving Android device has FCM SDK 18.0.1 or higher installed.
https://firebase.google.com/docs/cloud-messaging/understand-delivery#message-delivery-reports

Is it possible to get push notification stats like count of deliveries and opens when sending messages through Firebase notification API?

We are about to switch to Firebase notifiaction API from Parse.com (that are retiring their service in jan 2017) to send push notification to our android and iOS Apps.
My question now is that I can't see any statistics about counts of successful deliveries and opens in the Firebase Console for a specific message ? The only thing we get when posting to https://fcm.googleapis.com/fcm/send is a message_id
{"message_id":123456789}
But I havn't seen any documentation on a api how to follow up a sent message with this message_id. And the Firebase console has only the these kind of stats for messages created in the Console Gui, not the one create through an api post.
These stats was availible in Parse.com. But it seems as Firebase Cloud Messaging is a bit more low level, and perhaps these stats doesn't come out the box, so they might have to be custom made in a logging app etc by sending back events from the apps when messages as received and opened etc. Or is there a standardized way that I've missed when reading the Firebase Notification api docs ?
When you send notifications from the Firebase Notifications console, you get statistics about how many people received and opened the messages. But there is no API (yet) for Firebase Notifications.
If you're using the Firebase Cloud Messaging API (https://fcm.googleapis.com/fcm/send), the message statistics don't show up in the Firebase Notifications console. You can (as AL. says) get delivery statistics in the Google Play Developer Console in that case.
firebase allows you to view sent/delivered/opened statuses by default from their website
http://console.firebase.google.com
at the notification section
but I am not sure about the parse.com implementations
also if you are a new comer to firebase let it collect user data for about 24 hours after successfully migrating to firebase
I found that in the first day the notifications weren't really reporting immediately
I think you're looking for the FCM Diagnostics and Statistics feature.
However, this is not visible in the Firebase Console, only in your Google Play Developer Console. And the feature only works if your app is at least in Alpha Testing.

Resources