MyGit

jpush/jpush-react-native

Fork: 338 Star: 1351 (更新于 2024-10-31 09:51:41)

license: MIT

Language: Objective-C .

JPush's officially supported React Native plugin (Android & iOS). 极光推送官方支持的 React Native 插件(Android & iOS)。

最后发布版本: 2.8.8 ( 2021-11-24 18:45:45)

官方网址 GitHub网址

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 jpush-react-native --save
  • 注意:如果项目里没有jcore-react-native,需要安装

    npm install jcore-react-native --save
    

安装完成后连接原生库 进入到根目录执行
react-native link

react-native link jpush-react-native
react-native link jcore-react-native

2. 配置

2.1 Android

  • build.gradle

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

    include ':jpush-react-native'
    project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android')
    include ':jcore-react-native'
    project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/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/jcore-react-native/ios/RCTJCoreModule.xcodeproj
    node_modules/jpush-react-native/ios/RCTJPushModule.xcodeproj
    
  • Capabilities

    Push Notification --- ON
    
  • Build Settings

    All --- Search Paths --- Header Search Paths --- +
    $(SRCROOT)/../node_modules/jcore-react-native/ios/RCTJCoreModule/
    $(SRCROOT)/../node_modules/jpush-react-native/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日志

最近版本更新:(数据更新于 2024-11-05 16:36:26)

2021-11-24 18:45:45 2.8.8

2021-08-02 18:24:23 2.8.7

2019-10-14 14:05:52 v.2.5.10

2019-09-12 17:57:46 v2.5.5

2019-03-15 15:01:41 v2.5.3

2019-02-27 13:39:55 2.5.2

2018-11-29 18:48:23 2.4.0

2018-11-16 15:18:07 2.3.0

2018-10-26 10:47:19 2.2.13

2018-09-25 14:32:04 2.2.10

主题(topics):

android, ios, jpush, react, react-native

jpush/jpush-react-native同语言 Objective-C最近更新仓库

2024-10-05 20:03:05 roothide/Bootstrap

2024-09-15 10:49:02 focus-editor/focus

2024-09-02 19:28:18 opa334/TrollStore

2024-08-31 08:33:55 facebookincubator/SocketRocket

2024-08-22 18:45:46 SDWebImage/SDWebImage

2024-07-03 06:23:17 ccgus/fmdb