我尝试了一个示例代码来测试使用Firebase的推送通知系统,除了一件事情之外它运行良好。
如果我尝试使用设备令牌从Firebase控制台发送通知,则通知会显示在设备中。
如果我尝试使用我的主题topik
从Firebase控制台发送通知,则会在所有设备中显示所有通知。
如果我尝试使用设备令牌从我的网页或postman发送通知,则会在设备中显示通知。
如果我尝试通过我的网页或postman发送通知,请使用我的主题topik
,无所事事。
这是一个示例电话:
link: https://fcm.googleapis.com/fcm/send
POST method
Header field:
Content-Type : application/json
Authorization : key=MY_SERVER_KEY (the new one)
Body:
{
"to": "/topics/topik",
"data": {
"title": "This is a Firebase Cloud Messaging Topic Message!",
"content-text": "This is a Firebase Cloud Messaging Topic Message!"
}
}
或
Body:
{
"to": "/topics/topik",
"data": {
"message": "This is a Firebase Cloud Messaging Topic Message!"
}
}
发送操作的结果是这样的
{
"message_id": 7150560334538835864 (SUCCESS!)
}
但没有任何通知到达任何设备。我尝试调试onReceive
方法,但没有任何反应。
有什么想法吗?
答案 0 :(得分:1)
您是否尝试发送数据消息或通知消息? 见:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
如果要发送通知消息(通知控制台发送的消息类型)
你在问题中写的有效载荷是错误的。尝试将data
替换为notification
:
Body:
{
"to": "/topics/topik",
"notification": {
"title": "Hello",
"body": "This is a Firebase Cloud Messaging Topic Message!"
}
}