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!!
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!!
firebase-cloud-messaging 不提供向通知添加操作按钮的 API。
您可以在此处向 firebase 库请求新功能: https ://firebase.google.com/support/contact/bugs-features/
现在您可以做的是通过服务器端 APIdata-message
发送带有自定义有效负载的a,
然后您可以在 onMessageReceived() 中接收该有效负载并生成您的自定义通知。
因此,为了在应用程序处于后台时自定义通知,正如 Diego 所提到的,当前唯一的方法是自己创建通知。将“数据”键添加到通知有效负载,导致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 或更高版本中受支持。
我会考虑查看以下文档:
在后台应用程序中处理消息
https://firebase.google.com/docs/cloud-messaging/downstream#backgrounded
看起来您需要更改 FirebaseMessagingService 的意图过滤器以处理 OnClick 操作。