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个而不是数千个.
要将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