向Firebase通知添加操作

时间:2016-05-26 10:28:52

标签: android push-notification firebase firebase-cloud-messaging

我正在尝试为适用于Android的Firebase 9.0.0上生成的通知添加操作按钮,当应用程序位于后台时。

有什么想法吗?

谢谢!

4 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

我会考虑查看以下文档:

处理背景应用中的消息

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

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

答案 3 :(得分:0)

假设您已经知道必须使用仅数据密钥I answered here, too)在后台发送到您的应用程序,您可以向通知消息构建器添加一个操作,如下所示:

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或更高版本中支持通知操作。