Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Notifications You must be signed in to change notification settings

LinZihan1/jpush-react-native

Repository files navigation

tag QQ Group

JPush React Native Plugin

English Document

NOTE:

安装

npm install jpush-react-native --save
npm install jcore-react-native --save ## jpush-react-native 1.4.2 版本以后需要同时安装 jcore-react-native

配置

配置包括两个步骤,自动配置和手动操作。

1.自动配置部分(以下命令均在你的 React Native Project 目录下运行,自动配置后仍需手动配置一部分)

  • 执行脚本
npm run configureJPush <yourAppKey> <yourModuleName>
//module name 指的是你 Android 项目中的模块名字(对 iOS 没有影响,不填写的话默认值为 app,会影响到查找 AndroidManifest 问题,
//如果没找到 AndroidManifest,则需要手动修改,参考下面的 AndroidManifest 配置相关说明)
//举个例子:
npm run configureJPush d4ee2375846bc30fa51334f5 app
  • Link 项目
//执行自动配置脚本后再执行 link 操作
react-native link

自动配置操作会自动插入 Native 代码,这个部分用户无需关系具体细节,如果实在想了解加入代码的细节可以查看如下链接

2.手动操作部分(自动配置后,部分操作需要手动修改)

iOS 手动操作部分 (3个步骤)

  • 在 iOS 工程中设置 TARGETS-> BUILD Phases -> LinkBinary with Libraries 找到 UserNotifications.framework 把 status 设为 optional

  • 在 iOS 工程中如果找不到头文件可能要在 TARGETS-> BUILD SETTINGS -> Search Paths -> Header Search Paths 添加如下路径

$(SRCROOT)/../node_modules/jpush-react-native/ios/RCTJPushModule
  • 在 xcode8 之后需要点开推送选项: TARGETS -> Capabilities -> Push Notification 设为 on 状态

Android 手动操作部分 (3个步骤)

  • 修改 app 下的 build.gradle 配置:

your react native project/android/app/build.gradle

android {
 defaultConfig {
 applicationId "yourApplicationId"
 ...
 manifestPlaceholders = [
 JPUSH_APPKEY: "yourAppKey", //在此替换你的APPKey
 APP_CHANNEL: "developer-default" //应用渠道号
 ]
 }
}
...
dependencies {
 compile fileTree(dir: "libs", include: ["*.jar"])
  compile project(':jpush-react-native') // 添加 jpush 依赖
  compile project(':jcore-react-native') // 添加 jcore 依赖
  compile "com.facebook.react:react-native:+" // From node_modules
}

将此处的 yourApplicationId 替换为你的项目的包名;yourAppKey 替换成你在官网上申请的应用的 AppKey。

API

Android v1.6.6 版本后新增 notifyJSDidLoad,请务必在接收事件之前调用此方法。

关于点击通知跳转到指定界面

  • Android

    v1.6.7 新增 API jumpToPushActivity,使用参考 demo


贡献者列表

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 46.1%
  • Java 30.4%
  • JavaScript 22.3%
  • Python 1.2%

AltStyle によって変換されたページ (->オリジナル) /