我正在尝试为适用于Android的Firebase 9.0.0上生成的通知添加操作按钮,当应用程序位于后台时。
有什么想法吗?
谢谢!
答案 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或更高版本中支持通知操作。