【发布时间】:2019-11-27 20:13:34
【问题描述】:
我有一个 Android 和 iOS 用户的应用,订阅了 Firebase 云消息传递主题。一些用户有权向这些主题发送消息。我发出一个 http 请求来发送消息。身体是这样的:
{
"to": "/topics/debug"
"notification" : {
"body" : "Hi there",
"title" : "Wow!",
"sound": "default"
},
"priority": "high"
"data": {
"title": "Hi there",
"body": "Wow",
}
}
对于android,为了发送数据消息,我需要使用“数据”键,以便调用onMessageReceived。
但是,ios 需要“通知”键,这样即使应用程序被杀死,消息也会显示。但是,每当我添加“通知”键时,android 设备都不会调用 onMessageReceived,它不会被视为数据消息。
我该如何解决这个问题,提出一个适用于两种设备的请求。如果我做了两个请求(一个是针对 ios 的“通知”,一个是针对 android 的“数据”,那么 android 设备会收到两个通知(一个来自 onMessageReceived,一个来自系统。我可以阻止 android 设备显示消息吗?如果仅使用“通知”键发送?
我希望我能很好地解释这个问题,因为这就是我理解我遇到的问题的方式。
谢谢
【问题讨论】:
-
我想你只是忘了这里的逗号
"priority": "high",和 "to":"/topics/debug",。我在我的 android 应用程序中同时使用通知和数据。仅针对消息标题和正文以及数据的通知是您可以放置其他数据(如姓名、日期、时间等)的位置。