📜  反应原生推送通知 npm - Javascript (1)

📅  最后修改于: 2023-12-03 15:22:52.923000             🧑  作者: Mango

反应原生推送通知 npm - Javascript

当我们开发移动端应用时,通知是非常重要的功能之一。React Native提供了一种简单、方便、跨平台的方法来实现原生推送通知,并且操作起来也非常简单。

React Native提供的 react-native-push-notification npm包是用来处理推送通知的。它支持Android和iOS平台,并提供了大量的自定义选项来满足你的需求。

安装

要在你的React Native应用中使用react-native-push-notification,你需要先在应用目录中运行以下命令进行安装:

npm install --save react-native-push-notification
配置
Android 配置

在Android上需要添加以下内容到AndroidManifest.xml文件:

<manifest>
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

  <application>
    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" />
    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
      </intent-filter>
    </receiver>

    <service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService" android:exported="false">
      <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
      </intent-filter>
    </service>

    <service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationRegistrationService" android:exported="false" />
  </application>
</manifest>
iOS 配置

在iOS上需要在Xcode中设置:

  1. 添加Background Modes Capability
  2. Background Modes中选中Remote notifications
使用

使用react-native-push-notification非常简单,以下是一个示例:

import PushNotification from 'react-native-push-notification';

PushNotification.configure({
  onNotification: function(notification) {
    // 在收到通知后的回调
    console.log(notification);
  },
  permissions: {
    alert: true,
    badge: true,
    sound: true
  },
  popInitialNotification: true,
  requestPermissions: true
});

PushNotification.localNotification({
  title: "My Notification Title",
  message: "My Notification Message",
  playSound: true,
  soundName: 'default',
  actions: '["Yes", "No"]'
});
结论

react-native-push-notification是React Native应用中处理推送通知的一个非常好的选择。它易于使用、跨平台兼容,并且提供了大量自定义选项,可以满足你对推送通知的各种需求。如果你需要为你的移动应用添加通知功能,那么这个npm包是一个不错的选择。