GithubHelp home page GithubHelp logo

guomingzhang2008 / jpush-react-native Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jpush/jpush-react-native

0.0 1.0 0.0 37.55 MB

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

Home Page: http://docs.jiguang.cn

Ruby 0.61% Java 27.76% JavaScript 25.46% Python 1.20% Objective-C 44.97%

jpush-react-native's Introduction

tag QQ Group

JPush React Native Plugin

English Document

注意:

  • jpush-react-native 自 1.4.4 之后, 需要安装 jcore-react-native
  • 安装完后,需要执行 react-native link。如果出错了,无需惊慌,手动配置一下即可,具体可参考这篇文章

安装

npm install jpush-react-native jcore-react-native --save
(如果是原生应用集成 react-native)使用 CocoaPods 安装

在 Podfile 中添加如下代码:

pod 'JPushRN', :path => '../node_modules/jpush-react-native'

终端执行如下指令:

pod install

配置

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

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

react-native link

根据提示,输入 appKey 等即可。

自动配置操作会自动插入 Native 代码(iOS 中使用 Appdelegate.m 文件名,如果修改了该文件名需要手动插入代码),这个部分用户无需关系具体细节。

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

贡献者列表

jpush-react-native's People

Contributors

huangminlinux avatar kenchoi1992 avatar arniu avatar joshlipan avatar xwartz avatar messense avatar originerd avatar huhuanming avatar linytsysu avatar pangutech avatar x13945 avatar gcmsg avatar baurine avatar bomee avatar sunnylqm avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.