Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpush/jpush-react-native
JPush's officially supported React Native plugin (Android & iOS). 极光推送官方支持的 React Native 插件(Android & iOS)。
https://github.com/jpush/jpush-react-native
android ios jpush react react-native
Last synced: 26 days ago
JSON representation
JPush's officially supported React Native plugin (Android & iOS). 极光推送官方支持的 React Native 插件(Android & iOS)。
- Host: GitHub
- URL: https://github.com/jpush/jpush-react-native
- Owner: jpush
- License: mit
- Created: 2016-02-15T08:18:56.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-08T09:09:54.000Z (about 1 month ago)
- Last Synced: 2024-10-09T07:29:40.876Z (about 1 month ago)
- Topics: android, ios, jpush, react, react-native
- Language: Objective-C
- Homepage: http://docs.jiguang.cn
- Size: 80.2 MB
- Stars: 1,346
- Watchers: 48
- Forks: 336
- Open Issues: 158
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```
```### 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](https://github.com/jpush/jpush-react-native/tree/master/example/android/app/src/main/java/com/example/MainApplication.java)
### 3.2 iOS
参考:[AppDelegate.m](https://github.com/jpush/jpush-react-native/tree/master/example/ios/example/AppDelegate.m)
### 3.3 js
参考:[App.js](https://github.com/jpush/jpush-react-native/blob/dev/example/App.js)
## 4. API
详见:[index.js](https://github.com/jpush/jpush-react-native/blob/master/index.js)
## 5. 其他
* 集成前务必将example工程跑通
* 如有紧急需求请前往[极光社区](https://community.jiguang.cn/c/question)
* 上报问题还麻烦先调用JPush.setLoggerEnable(true},拿到debug日志