react-native-mjpush
TypeScript icon, indicating that this package has built-in type declarations

3.4.0 • Public • Published

React-Native-mJpush

npm version

iOS Version: 4.8.1

Android Version: 5.0.0

此项目基于https://github.com/jpush/jpush-react-native

ChangeLog

  1. 从RN-JPush2.7.5开始,重新支持TypeScript
  2. 由于RN-JCore1.6.0存在编译问题,从RN-JCore1.7.0开始,还是需要在AndroidManifest.xml中添加配置代码,具体参考 配置-2.1 Android

1. 安装

npm install react-native-mjpush --save
  • 注意:如果项目里没有react-native-mjcore,需要安装

    npm install react-native-mjcore --save

安装完成后连接原生库

进入到根目录执行

react-native link

react-native link react-native-mjpush
react-native link react-native-mjcore

2. 配置

2.1 Android

  • build.gradle

    android {
          defaultConfig {
              applicationId "yourApplicationId"           //在此替换你的应用包名
              ...
              manifestPlaceholders = [
                      JPUSH_APPKEY: "yourAppKey",         //在此替换你的APPKey
                      JPUSH_CHANNEL: "yourChannel"        //在此替换你的channel
              ]
          }
      }
    dependencies {
          ...
          implementation project(':react-native-mjpush')  // 添加 jpush 依赖
          implementation project(':react-native-mjcore')  // 添加 jcore 依赖
      }
  • setting.gradle

    include ':react-native-mjpush'
    project(':react-native-mjpush').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mjpush/android')
    include ':react-native-mjcore'
    project(':react-native-mjcore').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mjcore/android')
  • AndroidManifest.xml

    <meta-data
      android:name="JPUSH_CHANNEL"
      android:value="${JPUSH_CHANNEL}" />
    <meta-data
      android:name="JPUSH_APPKEY"
      android:value="${JPUSH_APPKEY}" />    

2.2 iOS

注意:您需要打开ios目录下的.xcworkspace文件修改您的包名

2.2.1 pod

pod install
  • 注意:如果项目里使用pod安装过,请先执行命令

    pod deintegrate

2.2.2 手动方式

  • Libraries

    Add Files to "your project name"
    node_modules/react-native-mjcore/ios/RCTJCoreModule.xcodeproj
    node_modules/react-native-mjpush/ios/RCTJPushModule.xcodeproj
  • Capabilities

    Push Notification --- ON
  • Build Settings

    All --- Search Paths --- Header Search Paths --- +
    $(SRCROOT)/../node_modules/react-native-mjcore/ios/RCTJCoreModule/
    $(SRCROOT)/../node_modules/react-native-mjpush/ios/RCTJPushModule/
  • Build Phases

    libz.tbd
    libresolv.tbd
    UserNotifications.framework
    libRCTJCoreModule.a
    libRCTJPushModule.a

3. 引用

3.1 Android

参考:MainApplication.java

3.2 iOS

参考:AppDelegate.m

3.3 js

参考:App.js

4. API

详见:index.js

5. 其他

  • 集成前务必将example工程跑通
  • 如有紧急需求请前往极光社区
  • 上报问题还麻烦先调用JPush.setLoggerEnable(true},拿到debug日志

Readme

Keywords

Package Sidebar

Install

npm i react-native-mjpush

Weekly Downloads

1

Version

3.4.0

License

ISC

Unpacked Size

13.9 MB

Total Files

51

Last publish

Collaborators

  • bashen1