Visual Studio 如何在Flutter中向所有用户推送通知

holgip5t  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(133)

大家好,我想通过API向我的Firebase中的所有用户发送通知,如下所示:

`var serverToken ="" ; 

sendNotify(String title , String body , String id) async{

await http.post(

Uri.parse('https://fcm.googleapis.com/fcm/send'),

headers:<String,String>{'Content-Type':'application/json',
'Authorization':'key=$serverToken',},

body:jsonEncode(

  <String,dynamic>{

    'notification':<String,dynamic>{

      'body':body.toString(),

      'title':title.toString()

    },

    'priority':'high',

    'data':<String,dynamic>{

      'click_action':'FLUTTER_NOTIFICATION_CLICK',

      'id':id.toString()},

//'to':'all',〈〈〈〈〈〈这里我想把它发送给所有用户而不是通过令牌}));”

h6my8fg2

h6my8fg21#

为此,您应该使用主题,
您需要为用户订阅all主题,并且在发送通知时不需要令牌
基于发布/订阅模型,FCM主题消息传递允许您向选择了特定主题的多个设备发送消息。您可以根据需要编写主题消息,FCM将处理消息的路由并将其可靠地传递到正确的设备。

// subscribe to topic on each app start-up
await FirebaseMessaging.instance.subscribeToTopic('all');

您的数据

jsonEncode({
     'topic': "all",
    'data': {
      'via': 'FlutterFire Cloud Messaging!!!',
      'count': _messageCount.toString(),
    },
    'notification': {
      'title': 'Hello FlutterFire!',
      'body': 'This notification (#$_messageCount) was created via FCM!',
    },
  });

相关问题