将通知发送到多个用户FCM

the*_*mer 4 python push-notification google-cloud-messaging

我正在使用firebase云消息传递配置我的移动应用程序.我终于想出了如何发送这些令人讨厌的配置通知.我的python代码看起来像这样

url = 'https://fcm.googleapis.com/fcm/send'
body = {  
"data":{  
   "title":"mytitle",
   "body":"mybody",
  "url":"myurl"
},
"notification":{  
  "title":"My web app name",
  "body":"message",
  "content_available": "true"
},
 "to":"device_id_here"
 }


headers = {"Content-Type":"application/json",
        "Authorization": "key=api_key_here"}
requests.post(url, data=json.dumps(body), headers=headers)
Run Code Online (Sandbox Code Playgroud)

我认为将其置于for循环中并交换设备ID以发送数千个通知将是服务器上的巨大压力和糟糕的编程习惯.(纠正我,如果我错了)现在文档告诉我创建"设备组" https://firebase.google.com/docs/cloud-messaging/notifications,它存储device_id以批量发送....这是烦人而且效率低下.因为我的Web应用程序的组不断变化.

干净利落

如何将上面的通知发送到我在python代码中指定的设备ID数组,以便我只能向FCM发送1个而不是数千个.

dni*_*t13 7

要将FCM发送到多个设备,请使用密钥"registration_ids"而不是"to"

"registration_ids": ["fcm_token1", "fcm_token2"]
Run Code Online (Sandbox Code Playgroud)

看看这个包,看看他们是如何实现它的.


小智 1

您应该使用 "to":"topic" 而不是 "to":"device_id" ,

主题用于 FCM 或 GCM 中的群组消息传递

https://developers.google.com/cloud-messaging/topic-messaging