我有一个 Flutter 应用程序,它连接到基于 Laravel 构建的数据库。本质上,我们的用户将拥有一个个人资料,并且他们的个人资料将与某些类型的帖子相匹配。每当添加新帖子时,我们希望能够找到与该帖子匹配的所有用户,并向他们发送推送通知,告知他们已与新添加的帖子相匹配。
从理论上讲,我正在寻找一种很好的方法来执行此操作,因为现在我有点一无所知,并且在 Firebase 和推送通知方面没有太多经验。
最佳答案
要向相关主题发送推送通知,您的用户应该订阅它:
final FirebaseMessaging _fcm = FirebaseMessaging();
...
FlatButton(
child: Text('I like puppies'),
onPressed: () => _fcm.subscribeToTopic('puppies');,
),
FlatButton(
child: Text('I hate puppies'),
onPressed: () => _fcm.unsubscribeFromTopic('puppies');,
),
在后端(NodeJS):
export const sendToTopic = functions.firestore.document('puppies/{puppyId}').onCreate(async snapshot => {
const puppy = snapshot.data();
const payload: admin.messaging.MessagingPayload = {
notification: {
title: 'New Puppy!',
body: `${puppy.name} is ready for adoption`,
icon: 'your-icon-url',
click_action: 'FLUTTER_NOTIFICATION_CLICK' // required only for onResume or onLaunch callbacks
}
};
return fcm.sendToTopic('puppies', payload);});
有一个很好的教程:link
关于laravel - 在 Flutter 应用上向用户发送独特的 Firebase 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57644474/