发现从Firebase控制台发送通知后,如果应用程序在后台,则不会调用onMessageReceived()方法。未从http请求调用Firebase onMessageReceived()
因此,我遵循人们的建议使用HTTP POST请求。 我已经使用邮递员使POST请求
https://fcm.googleapis.com/fcm/send
用2头:
内容类型:应用/ JSON
授权:键= ALSA ...... .6ryLiI
和身体
{
"to" : "fzgh-aHiOd8:APA91bFcKuwuVq_2gbLydHkAZf9XLUzm9vPalh7EUQT3Kyj8mcW9raAs9QvxbHaGJ4-U4RnUJwJ3UaEarbMXiQ8rHnsx9UuYBDrOI9tJYB78_Z3VVR1l7H_6PGpCkdgINx8a4vvMXD9q",
"notification" : {
"body" : "Sales!",
"title" : "ID Phone",
"icon" : "myicon"
},
"data" : {
"data" : "sales",
}
}
现在,通知确实进入我的应用程序(这很好),但它仍然不是我想要的自定义通知。即onMessageReceived()仍然没有被调用。
有什么我失踪?
检查是否收到数据。因为您的注册人ID或服务器API密钥可能不正确 – Killer
正在接收数据。但仍然没有工作。谢谢 – RJB
当您发送通知消息并且您的应用程序位于后台时,通知托盘中将显示通知。你的应用程序的'onMessageReceived'不会被调用。这是预期的行为。请参阅http://stackoverflow.com/questions/37711082/how-to-handle-notification-when-app-in-background-in-firebase –