7

I'm trying to add an action button to notifications produced on firebase 9.0.0, for Android, when app is in background.

Any ideas?

Thanks!!

4

4 回答 4

8

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

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

现在您可以做的是通过服务器端 APIdata-message发送带有自定义有效负载的a, 然后您可以在 onMessageReceived() 中接收该有效负载并生成您的自定义通知。

于 2016-05-27T18:34:59.067 回答
3

因此,为了在应用程序处于后台时自定义通知,正如 Diego 所提到的,当前唯一的方法是自己创建通知。将“数据”键添加到通知有效负载,导致onMessageReceived()回调,您可以在其上创建任何通知和通知。

问题是,我尝试从 Firebase 控制台发送通知,而不是从 API 发送通知。在那里我无法正确添加数据键并捕获它。从 API 一切正常。

于 2016-05-29T13:05:57.707 回答
0

假设您已经知道您必须只使用数据密钥我也在这里回答)在后台发送到您的应用程序,您可以向通知消息构建器添加一个操作,如下所示:

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 或更高版本中受支持。

于 2016-09-25T12:41:11.643 回答
0

我会考虑查看以下文档:

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

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

看起来您需要更改 FirebaseMessagingService 的意图过滤器以处理 OnClick 操作。

于 2016-05-26T12:37:48.617 回答