我正在使用react-native-firebase库在我的应用程序中实现推送通知,但是我有一个问题。我需要在应用程序中安装自定义通知,并在不向服务器发送标题/正文的情况下从React组装它们,我需要这些通知在应用程序处于后台且完全关闭的情况下进行。
我做了以下尝试,但无济于事。
我在索引中注册了课程
AppRegistry.registerHeadlessTask(
"RNFirebaseBackgroundMessage",
() => bgMessaging
);
在我的JS类中,我采用以下方式处理
import firebase from "react-native-firebase";
import type { NotificationOpen } from "react-native-firebase";
export default async (notificationOpen: NotificationOpen) => {
if (notificationOpen) {
const notification = new firebase.notifications.Notification()
.setTitle("Android Notification Actions")
.setBody("Action Body")
.setNotificationId("notification-action")
.setSound("default")
.android.setChannelId("notification-action")
.android.setPriority(firebase.notifications.Android.Priority.Max);
// Build an action
const action = new firebase.notifications.Android.Action(
"snooze",
"ic_launcher",
"My Test Action"
);
// This is the important line
action.setShowUserInterface(false);
// Add the action to the notification
notification.android.addAction(action);
// Display the notification
firebase.notifications().displayNotification(notification);
}
return Promise.resolve();
};
但是我没有成功。从Firebase发送的带有固定标题和正文的推送通知正常工作。
非常抱歉,我的英语水平。
答案 0 :(得分:0)
嗨,请尝试以下操作
将.setNotificationId("notification-action")
更改为.setNotificationId(notificationOpen.notification.notificationId)
将.android.setChannelId("notification-action")
更改为.android.setChannelId(notificationOpen.notification.android.channelId)