向 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 或更高版本支持通知操作。
我正在尝试为 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 或更高版本支持通知操作。