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

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

我尝试了一个示例代码来测试带有 Firebase 的推送通知系统,它运行良好,除了一件事。

  • 如果我尝试使用设备 token 从 Firebase 控制台发送通知,该通知会显示在设备中。

  • 如果我尝试使用我的主题 topik 从 Firebase 控制台发送通知,所有通知都会显示在所有设备中。

  • 如果我尝试从我的网页或 postman 发送通知,使用设备 token ,通知显示在设备中。

  • 如果我尝试从我的网页或 postman 发送通知,使用我的主题 topikNOTHING HAPPENS

这是一个调用示例:

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 方法,但没有任何反应。

有什么想法吗?

最佳答案

您要发送数据消息还是通知消息?
参见:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

如果要发送notification-messages(通知控制台发送的消息类型)
你在问题中写的有效载荷是错误的。尝试用 notification 替换 data:

Body:
{
    "to": "/topics/topik",
    "notification": {
        "title": "Hello",
        "body": "This is a Firebase Cloud Messaging Topic Message!"
    }
}

关于android - 客户端未收到主题服务器端的 FCM 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41105671/

相关文章:

android - Apprtc 与 PushNotificaiton

firebase - 带有 firebase 云消息传递的 Vue pwa 无法正常工作

java - 将通过方法调用创建的 Arraylists 添加在一起

swift - 在 Swift 中将 Firebase 数据附加到 [String]()

android - 升级到 ADT v20 后不再能够创建项目

javascript - Firebase toDate() 使用 CEST 而不是 localTime

java - 如何在 RecyclerView 中检索值 我尝试了很多,但在 Android 中将数据推送到数据库后,它从 Firebase 生成的 ID 中检索空值

android - oppo,vivo app kill notification not coming in android fcm

android - 维护双向 UDP 连接

java - 在我点击后退按钮之前,插页式 admob 广告不会在按钮点击时显示