I have already built a chat app to practice flutter and I would really like to integrate push notifications that notify the users when a new message is sent but I don't seem to find any relevant information on the internet about this topic, I am currently using firebase. what can I do in order to achieve this functionality?
Since you are already using firebase, look into Firebase Cloud Messaging. You'll need to
Save each user's device tokens in Cloud Firestore and Realtime Database
When a message is sent/written to the database, trigger a cloud function to send a notification through Cloud Messaging.
you have to use firebase cloud messaging by you have to safe each user token id
that will be notify users for a particular event
check my repository in developer branch where I implement push notification by
using firebase cloud messaging
my repository for push notification
Related
I have a Flutter app integrated with a Firebase Realtime Database.
I want a notification (actually an alarm kind of thing if possible), when an item (lets call it alarm) in the database is set to "true". I always see firebase_messaging plugin for notifications, but I am not sure if I'm supposed to use this plugin despite that my app doesn't have anything to do with messaging.
I am totally new to both Flutter and Firebase, can you tell me how to listen to the database even if the app is not running?
By the way, I am currently building the app for only Android, but I want to build it for IOS too in the future.
Thanks.
You can use/write firebase cloud fucntion. Using firebase cloud function you can watch any document/field and try to write trigger logic like if a field is set to true then this cloud function will throw an notification via firebase messaging.
https://firebase.flutter.dev/docs/functions/overview/
When the user is not actively using the app there is no reliable way to continue to listen to changes in the Firebase Realtime Database. To notify the user of changes to the database in that situation, you'll need to listen for those change on an environment that is always on, and then send a message to the user through Firebase Cloud Messaging.
One environment that is always in is Cloud Functions, which is also part of Firebase, and allows you to run small snippets of JavaScript code on Google's servers in response to things that happen in your Firebase project. The documentation of Cloud Functions for Firebase as example of how to notify the user when something interesting happens in the database:
Developers can use Cloud Functions to keep users engaged and up to date with relevant information about an app. Consider, for example, an app that allows users to follow one another's activities in the app. Each time a user adds themselves as a follower of another user, a write occurs in the Realtime Database. Then this write event could trigger a function to create Firebase Cloud Messaging (FCM) notifications to let the appropriate users know that they have gained new followers.
The function triggers on writes to the Realtime Database path where followers are stored.
The function composes a message to send via FCM.
FCM sends the notification message to the user's device.
To review working code, see Send FCM notifications.
I want to receive notifications in my flutter mobile App when a new Product or item is added. Currently I am receiving data through JSON API response in my APP. How did i receive the Firebase Notifications or updates? And which parameters does firebase require to generate the notifications.
You can set up Firebase Cloud Functions for listening to changes in your database (if you're using something like Firestore or Realtime Database), and in that listener use Firebase Cloud Messaging to send notifications to devices.
I couldn't deploy Firebase cloud function because it is now available to only Blaze plan user which is paid now.
I want to send an automated notification whenever a new document is added in Firebase's collection.
Is there any alternative approach?
I'm trying to configure Firebase Messaging in Flutter, but it seems that there is no implementation yet for the Upstream messages.
https://firebase.google.com/docs/cloud-messaging/android/upstream
What I want to do is to add a reminder and notify the user after x time with a push notification.
Let me know if you guys have any other solution, or we should simply wait for Flutter and Firebase for Flutter to became stable.
Thanks
Alvin
You are correct that there is no implementation for upstream messaging in FlutterFire yet, we are working on filling out these features. However given your use case you may be able to do something like write the user's reminder to Firestore or Firebase Realtime Database then when you are ready to send push notifications you can use Cloud Functions for Firebase to send the messages to the required devices.
What I want is to be able to use Firebase Console to send push notifications to users that I have registered in firebase database. I'd want to filter them by some topics/values stored in their user object. Is it possible?
There is currently no integration between Firebase database and Notifications. Have you stored FCM registrations in the database? If they are subscribed to some topic then you can send to that but you would need to do it manually.