客户端未收到主题服务器端的FCM通知

时间:2016-12-12 16:52:15

标签: android firebase push-notification firebase-cloud-messaging

我尝试了一个示例代码来测试使用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方法,但没有任何反应。

有什么想法吗?

1 个答案:

答案 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!"
    }
}