Firebase 消息“setBackgroundMessageHandler”覆盖通知正文#AskFirebase
Firebase messaging `setBackgroundMessageHandler` overrides notification body #AskFirebase
我正在使用新的 admin.messaging().sendToDevice()
方法发送网络推送通知。我同时发送了 notification
和 data
,这样我就可以在消息中向用户展示一些上下文。
在客户端,我使用 firebase.messaging().setBackgroundMessageHandler()
来处理接收消息。
问题是 setBackgroundMessageHandler()
永远不会被调用。我尝试了 a similar question but if I alter the payload structure on the server to add the notification
in the data
field an error is thrown saying I should only use strings as values in the data
(the notification
is an object. see admin.messaging.NotificationMessagePayload).
的解决方案
如果我不在服务器上使用 firebase.messaging
并且只是按照其他答案建议的那样进行重组,我将无法享受 clickAction
的精彩功能,这节省了我处理notificationclick
我自己。
我还在 service worker 的 push
事件中添加了监听器,我收到了完整的负载(notification
和 data
都可用),它只是不调用回调
这是 firebase.messaging.setBackgroundMessageHandler()
的错误吗?还是我没有按应有的方式使用它?
我联系了 Firebase 支持,他们说这是预期的行为。
因此,如果有人想在 push
发生时做某事,他应该只发送 data
字段。如果发送 notification
字段,它将优先并且不会调用回调,但用户会收到通知。
我正在使用新的 admin.messaging().sendToDevice()
方法发送网络推送通知。我同时发送了 notification
和 data
,这样我就可以在消息中向用户展示一些上下文。
在客户端,我使用 firebase.messaging().setBackgroundMessageHandler()
来处理接收消息。
问题是 setBackgroundMessageHandler()
永远不会被调用。我尝试了 a similar question but if I alter the payload structure on the server to add the notification
in the data
field an error is thrown saying I should only use strings as values in the data
(the notification
is an object. see admin.messaging.NotificationMessagePayload).
如果我不在服务器上使用 firebase.messaging
并且只是按照其他答案建议的那样进行重组,我将无法享受 clickAction
的精彩功能,这节省了我处理notificationclick
我自己。
我还在 service worker 的 push
事件中添加了监听器,我收到了完整的负载(notification
和 data
都可用),它只是不调用回调
这是 firebase.messaging.setBackgroundMessageHandler()
的错误吗?还是我没有按应有的方式使用它?
我联系了 Firebase 支持,他们说这是预期的行为。
因此,如果有人想在 push
发生时做某事,他应该只发送 data
字段。如果发送 notification
字段,它将优先并且不会调用回调,但用户会收到通知。