使用 react-native-firebase 在 React Native 上自定义通知

Posted

技术标签:

【中文标题】使用 react-native-firebase 在 React Native 上自定义通知【英文标题】:Custom notification on React Native using react-native-firebase 【发布时间】:2019-10-07 18:00:04 【问题描述】:

我正在使用 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 发送的推送通知正常工作。

感谢和抱歉我的英语。

【问题讨论】:

你修好了吗? 【参考方案1】:

您好,请尝试以下操作,

.setNotificationId("notification-action") 更改为.setNotificationId(notificationOpen.notification.notificationId)

.android.setChannelId("notification-action")更改为.android.setChannelId(notificationOpen.notification.android.channelId)

【讨论】:

以上是关于使用 react-native-firebase 在 React Native 上自定义通知的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-native-firebase 创建 Firebase 动态链接失败 - React Native

使用 react-native-firebase 在 React Native 上自定义通知

如何使用 react-native-firebase 在 iOS 设备的推送通知中添加按钮?

在设备上使用 react-native-firebase 检测文本要求计费

如何使用 react-native-firebase v5 正确设置前台通知?

错误:捆绑失败 - 尝试解析模块“react-native-firebase”时