【问题标题】:FCM notification with topic server side not received on client客户端未收到主题服务器端的 FCM 通知
【发布时间】:2016-12-12 16:52:15
【问题描述】:

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

有什么想法吗?

【问题讨论】:

  • 您的客户端设备订阅了该主题吗?您的问题中没有任何内容表明它有。 firebase.google.com/docs/cloud-messaging/android/…
  • 是的。所有客户都订阅了该主题。事实上,如果我尝试从 Firebase 控制台向该主题发送通知,一切正常。

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


【解决方案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!"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多