Firebase 云消息传递如何在 Android 上运行

Posted

技术标签:

【中文标题】Firebase 云消息传递如何在 Android 上运行【英文标题】:How does Firebase Cloud Messaging work on Android 【发布时间】:2018-07-03 09:19:43 【问题描述】:

我正在通过“管理应用”向 FCM 服务器发送数据,并且希望其他“非管理应用”能够在“管理应用”向 FCM 服务器发送数据时接收推送通知。

为此,我将 AWS SNS 与 FCM 结合使用来存储收件人列表并传播推送通知。但是,与 https://***.com/a/47413178/9846004 中所述的答案相反,当应用程序在前台时,我的设备没有收到任何推送通知;它只在后台接收它们。

此外,如何使用有效负载中的“click_action”键来实现“打开预期的活动屏幕”的功能?我是否需要包含完整的包名作为值的一部分?

类似 "click_action" : "com.example.application.androidapp.main_activity" 或只是 "click_action" : "main_activity" 的东西可以吗?

【问题讨论】:

click_action 是一个意图过滤器字符串,而不是活动的名称。 firebase.google.com/docs/cloud-messaging/http-server-ref 感谢您的回复。我能否澄清一下您是否指的是“Manifest.xml”中的 action name: 属性? 【参考方案1】:

为了在您的应用处于前台时接收消息,请创建一个扩展 FirebaseMessagingService 的服务并覆盖 onMessageReceivedonDeletedMessages 方法。欲了解更多信息,请访问this链接。

也许this 可以提供帮助。

【讨论】:

感谢您的回复。但是我已经覆盖了那个“OnMessageReceived”方法。现在的问题是我什至没有看到程序在尝试调试时执行了那部分代码。 我附上了更新答案的链接。也许它可以提供帮助。 感谢您提供的重要提示和资源。经过无数次的测试,我终于设法让它运行起来。将尽快发布我的发现。 @Gohweiyang 太棒了!

以上是关于Firebase 云消息传递如何在 Android 上运行的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 与 Android Java 中的 Google 云消息传递

使用 PhoneGap 和 Firebase 云消息传递 (FCM) 的简单推送通知 Android 应用程序

使用 Kotlin 的 Firebase 云消息传递 Android

Firebase Admin SDK、FCM 云消息传递

Firebase 云消息传递消息日志

如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知