- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,我需要从服务器向客户端发送通知。我可以从 FCM 控制台发送通知,但是当我从服务器向客户端发送通知时,remoteMessage.getNotification() 总是返回 null。正确接收数据时。当我同时发送数据和通知时,只有数据是非空的,而通知是空的。
我已经查过了this问题。但解决方案对我不起作用。下面是客户端和服务器端代码 fragment 以及调试客户端应用程序时的屏幕截图。
客户端应用程序:(onMessageReceived)
override fun onMessageReceived(remoteMessage: RemoteMessage?) {
super.onMessageReceived(remoteMessage)
Log.e(TAG, "From: " + remoteMessage?.from)
// Check if message contains a data payload.
if ((remoteMessage?.data?.size ?: 0) > 0) {
Log.e(TAG, "Message data payload: ${remoteMessage?.data}")
}
val a = remoteMessage?.notification
if (a != null) {
Log.e(TAG, "Message Notification Body: " + remoteMessage.notification?.body)
}
}
服务器端代码(node.js)
var request = require('request');
// Set the headers
var headers = {
'Content-Type':'application/json',
'Authorization': 'key=AIzaSyAzMLMp....'
}
// Configure the request
var options = {
url: 'https://fcm.googleapis.com/fcm/send',
method: 'POST',
headers: headers,
form: {
"to": "eZoeSIRba6g:AP...",
"notification" : { "body" : "my body"} }
}
// Start the request
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
// Print out the response body
console.log(body)
}
console.log(body + " error : " + error)
})
而如果我使用以下部分,则代码可以正常工作。
form: {
"to": "eZoeSIRba6g:APA91bEYrP...",
"data" : { "body" : "my body"} }
如果有人知道如何解决这个问题,请帮助我。提前谢谢你。
最佳答案
{
"to" : "YOUR_FCM_TOKEN_WILL_BE_HERE",
"data" : {
"body" : "First Notification",
"title": "Collapsing A",
"key_1" : "Data for key one",
"key_2" : "Hellowww"
}
}
使用像这样的 JSON,然后你的 onMessageReceived 将被调用。
关于android - 从服务器发送通知时,remoteMessage.getNotification() 始终为 null - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51001542/
这个问题在这里已经有了答案: Firebase onMessageReceived not called when app in background (30 个答案) 关闭 6 年前。 在 Fir
我在我的应用程序中实现了 Firebase 云消息传递,并且在使用 Firebase 控制台时,我在 Android 和 iOS 中的应用程序收到了我的通知。但是因为我想每天推送通知,所以我创建了一个
这个问题在这里已经有了答案: Cannot resolve symbol com.google.firebase.messaging.Message (1 个回答) 关闭 3 年前。 有人问过类似的
在我的项目中,我需要从服务器向客户端发送通知。我可以从 FCM 控制台发送通知,但是当我从服务器向客户端发送通知时,remoteMessage.getNotification() 总是返回 null。
因此,我一直在此处和其他地方阅读有关此主题的其他帖子,但我仍在挣扎。我的应用正在使用 “Fireabase FCM” 执行设备到设备的通知。我能够发送和接收消息。然而,方法“didReceive Re
public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService
我正在快速开发一个消息传递应用程序。我配置了 Firebase 云消息传递,它可以正常工作,数据到达我的手机。 func messaging(_ messaging: Messaging, didRe
我按照 GoogleSamples https://github.com/googlesamples/android-NotificationChannels 在 Android 应用程序中注册了通知
我已将 gcm 迁移到 fcm 以获取推送通知消息。但是我如何从收到的 RemoteMessage 中获取 bundle 数据的 onMesssageReceived 方法。 Old GCM give
为什么 remoteMessage.getData() 在我的通知类中变为空?不知道问题出在哪里,请帮帮我!! Bundle[ { google.sent_time=14727
我在 firebase 中使用通知编辑器通过自定义数据发送以下键值对: type : 555 我没有在通知编辑器中将双引号 "" 放在 type 和 555 周围。所以在 key 的地方我写了 ty
我正在测试 Firebase 云消息传递。 如果我使用 Firebase 控制台发送消息 - 在我的代码中我设置了值的通知对象 - 不是问题: public override void OnMessa
我的 firbase RemoteMessage 有一个包含 12 个键值对的 mBundle,根据调试器,这些字段已填充 . 但是当我说:remoteMessage.getData();生成的 Ar
我正在使用 react-native-firebase v6.4.0。我成功注册了一个后台处理程序 setBackgroundMessageHandler一切正常。现在我正在尝试在应用程序处于后台/退
通过这个形状: { "to": "000", "priority": "high", "data": { "title": "A Title", "message": "A
我正在尝试解析 FCM 中的通知数据。我会尽可能详细地解释我的问题。我有两个应用程序,一个是 android,另一个是 javascript webapp。因此,当从 webapp 向 androd
我是一名优秀的程序员,十分优秀!