我无法使用条件字段发送要发送到多个主题的FCM消息。出于某种原因,即使FCM没有发送任何错误,我的设备在使用此字段时也不会收到消息。
当我发送时:
LastModificationTime
收到了消息,但我没有收到任何信息:
{
"to": "/topics/topic1",
"data": {
"message": "test"
}
}
甚至认为两条消息都使用相同的主题名称,并且这两条消息都会从Firebase返回成功消息。
答案 0 :(得分:0)
您必须将您的设备订阅到您的主题,您可以为订阅提供休息服务。 Reference 当你想发送信息时,你可以提供标题和正文
示例:
{
"message":{
"condition": "'topic1' in topics",
"data": {
"message": "test"
},
"notification" : {
"body" : "This is an FCM notification message!",
"title" : "FCM Message",
}
}
}
使用建模响应reference 主题HTTP POST请求
Send to a single topic:
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"to": "/topics/foo-bar",
"data": {
"message": "This is a Firebase Cloud Messaging Topic Message!",
}
}
Send to devices subscribed to topics "dogs" or "cats":
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"condition": "'dogs' in topics || 'cats' in topics",
"data": {
"message": "This is a Firebase Cloud Messaging Topic Message!",
}
}
Topic HTTP response
//Success example:
{
"message_id": "1023456"
}
//failure example:
{
"error": "TopicsMessageRateExceeded"
}
我使用java RestTemplate并交换响应。