I'm using Firebase Cloud Messaging for IOS and Android.
I want to send message to topic in certain time
considering local time zone. Is it real by using API?
I know that it's real by using custom scheduler and storing user time zone, but I'm looking for easy way.
You can schedule messages in the notifications composer panel in the Firebase console, and you can select for them to be delivered in the user's timezone there.
But there is no option in the Firebase Cloud Messaging API to schedule the delivery of messages. Messages sent through the API are delivered as soon as possible after you send them. See FCM Schedule delivery date or time of push notification.
Related
I am using firebase api call to send the notification to the users and I want to check how many users got the notifications. I read the documentation of firebase but was unable find how to check send rate, if there is any api call for that. When I send notification to all the users from firebase admin panel after some time firebase start showing send rate and open rate.
I want to know how to get this data if I send the notification through the api call?
Actually what I am working on a to-do task manager app. Currently I am adding tasks to cloud Firestore after as a new document. I want to send notification to user at the time user scheduled to do that work. I am so confused. It can be lots of tasks from a single user. And the the notification tone has to be selected by user itself.
Please help me in this..
Thanks you!
So you'll need:
A database where you keep the notification payload, user FCM token, and the time they are to be sent.
A schedule Cloud Function that runs every day or every hour based on the granularity of the task.
Now, when the Cloud Function gets triggered, it:
Runs a query against the database for notifications that are scheduled to be sent before the current time
Loops over the results send each notification in turn.
You can now delete the database entry if you want to.
Furthermore, if you want to reduce the number of cloud function triggers, you have a combination of the FCM and an alarm manager to show a notification after a delay (feasible in flutter through local notifications too). this way you can send the payload at a particular time of the day and deploy it at any time locally.
Not sure how optimized this is, looking for better ways!
I wonder if there is a way I could track fcm push notifications delivery in flutter so I can set a callback and be notified when notification is received by device?
Please upload a bit of your code/ detailed code flow as to how you are achieving push notifications .i.e, from webserver/cloud functions/flutter package. In any of the methods, you receive information on the about failed/delivered msgs as well a Message-ID used as a reference when looking up particular messaging operation
If you rely on a web server, then in order to set callbacks on your web server, you can use the feature of Firebase Cloud messaging Data export to BigQuery and apply cloud functions to listen to the undelivered messages in bulk automatically. This however may turn a bit costly on a larger scale.
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.
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.