向 Firebase 通知添加操作

Add Action To Firebase Notification

我正在尝试为 Android 在 firebase 9.0.0 上生成的通知添加一个操作按钮,当应用程序处于 background.[=10= 时]

有什么想法吗?

谢谢!!

我会考虑查看以下文档:

在后台应用程序中处理消息

https://firebase.google.com/docs/cloud-messaging/downstream#backgrounded

您似乎需要更改 FirebaseMessagingService 的 Intent 过滤器以处理 OnClick 操作。

firebase-cloud-messaging 不提供 API 向通知添加操作按钮。

您可以在此处请求 firebase 库的新功能: https://firebase.google.com/support/contact/bugs-features/

现在您可以做的是通过 server-side API 发送带有自定义负载的 data-message 然后您可以在 onMessageReceived() 中接收该有效负载并生成您的自定义通知。

所以为了在应用程序在后台时自定义通知,正如 Diego 提到的,目前唯一的方法是自己创建通知。将 "data" 键添加到通知负载,导致 onMessageReceived() 回调,您可以在其上创建任何通知和通知。

事实是,我试图从 Firebase 控制台发送通知,而不是从 API。在那里我无法正确添加数据密钥并捕获它。从 API 起一切正常。

假设您已经知道您必须使用 仅数据密钥 () 在后台发送到您的应用程序,您可以向通知添加一个操作像这样的消息生成器:

final NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.addAction(
                    R.drawable.ic_setting_light,
                    res.getString(**R.string.Your_Button_String**),
                    PendingIntent.getActivity(
                            context,
                            0,
                            **Your_Intent_To_Open_When_Button_Is_Click**,
                            PendingIntent.FLAG_UPDATE_CURRENT));

当然这必须在 Android 方面的内部处理逻辑。

注意:仅 Android 4.1 或更高版本支持通知操作。