如何在应用关闭时在Android Studio中使用Firebase发送通知?

时间:2017-06-30 14:16:46

标签: android firebase firebase-cloud-messaging

我使用Android Studio和Firebase。我想在其他用户向他发送消息时向特定用户发送通知,我希望他的手机能够获得这些通知,即使他的应用根本没有运行。

我已尝试使用firebase本身的一些公会,youtube教程和谷歌。但我失败了。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

FCM有两种消息:下游通知。根据应用程序状态,每种类型的行为都不同。

1。通知

仅当应用在后台时,设备才会收到通知。它将显示在通知托盘中,或作为抬头通知显示。当您的应用处于前台时,您无法收到Notification类消息。

2。下游

您的应用在任何州都会收到下游消息。您将在FirebaseMessagingService实施(onMessageReceived)中收到该消息。

3。这两个世界

如果同时合并1和2,则会收到下游通知消息。因此,它将采取来自两个“世界”的行为。如果您的应用位于后台,则会收到Notification消息;如果您的应用位于前台,则会收到Downstream。此外,如果您点击指定了click_action并且您已Intent Filter执行此操作的通知,则会引导您转到Activity并致电onNewIntent或{{ 1}}取决于backstack。

所以,回答你的问题 - 如果你想总是收到新的消息通知 - 只发送onCreate消息。即使应用程序被杀死它也会收到它,或者当应用程序变为活动状态时(如果启用了消息传递服务),或者立即启动。但是这样有一个缺点:你需要自己向用户显示通知(HeadsUp或常规)。

更新

以下是常见的Firebase邮件正文:

Downstream

那么你需要什么 - 它以某种方式(如json或左右)将这些数据发送到带有一些标题的指定firebase urlHere链接详细信息如何发送消息。请注意,有关如何在多个设备/群组中发送消息的信息,您需要在 { "to" : "FIREBASE_TOKEN", "notification" : { // Responsible for Notification kind of messages "body" : "great match!", "title" : "Portugal vs. Denmark", "icon" : "myicon" }, "data" : { // Responsible for Downstream kind of messages "Nick" : "Mario", "Room" : "PortugalVSDenmark" } } 字段中仅指定您的合作伙伴FirebaseToken