laravel - 在 Flutter 应用上向用户发送独特的 Firebase 推送通知

标签 laravel firebase flutter push-notification firebase-cloud-messaging

我有一个 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/

相关文章:

php - Laravel 5.6.26 错误 - 找不到类 'Tymon\JWTAuth\Providers\LaravelServiceProvider'

firebase - 如何在 flutter firebase 中创建进度条

flutter - 检查 ThemeMode.system 是深色还是浅色

google-maps - 有没有办法隐藏街道名称(google_maps_flutter)?

firebase - Firebase数据库未在Flutter应用中更新

php - Laravel belongsToMany 没有其中之一

php - 无法让 Laravel 中间件 "can:something"与我的策略配合使用

android - 错误 :Unexpected lock protocol found in lock file. 预期 3,找到 0。

javascript - Laravel 5.7 从 DB : JS not recognizing the route 自动完成搜索

如果查询中包含 +(加号)符号,firebase Rest api equalto 搜索将失败