【发布时间】:2018-05-31 14:10:26
【问题描述】:
后端服务器发送 FCM 通知如下:
{
"to": "/topics/599_7041",
"priority": "high",
"data": {
"id_message": "45"
}
"click_action": "SHOW"
"notification" : {
"body" : "Lorem ipsum",
"title" : "Sample"
}
}
我的应用程序订阅了多个主题。当应用程序未运行时,Firebase 会显示通知并允许我在点击通知消息后运行应用程序,并提供点击操作并将数据(在本例中为 message_id)传递给已启动的应用程序实例。
到目前为止还不错。但是,除此之外,我需要确定从哪个订阅主题通知接收。从通知中启动新应用实例时,我能否以某种方式确定它,或者我需要将主题名称添加到数据中(message_id 旁边)?
我知道我可以在我的应用程序运行时确定to,这样:
@Override
public void onMessageReceived(@NonNull final RemoteMessage remoteMessage)
{
//....
String to = remoteMessage.getTo();
}
但是,如果我的应用程序没有运行怎么办,那么onMessageReceived 将不会被调用。
【问题讨论】:
-
您可以尝试使用消息的生命周期。更多信息您可以找到here
-
寿命与我的问题有什么关系?
-
你如何从控制台发送主题消息?
-
看我的问题,包含消息体(json)
-
在消息标题中添加主题名称
标签: java android firebase firebase-cloud-messaging firebase-notifications