react native 整合极光推送Android

react native 整合极光推送(Android)

最近项目中需要用到通知,综合比较决定使用极光推送,看了看网上的教程好像都没有一个整合好的例子,或者是步骤有些问题,自己也折腾了很长时间,在此把极光推送配置的步骤整理一下,提供给各位有需要的朋友

一.安装
我的react native使用的是最新版本0.43.3,对应的极光推送需要同时安装jpush和jcore,

npm install jcore-react-native --save npm install jpush-react-native --save react-native linknpm install jcore-react-native --save react-native link

二.配置

1、在android/app/build.gradle里android>>defaultConfig中加入:

manifestPlaceholders = [
 JPUSH_APPKEY: "yourAppKey",//在极光推送后台申请的APPKey
 APP_CHANNEL: "developer-default"   
      ]

在dependencies中加入:(link后自动加入,需检查)

compile project(':jpush-react-native')  // 添加 jpush 依赖
  compile project(':jcore-react-native')

2、在项目的settings.gradle中加入(link后自动加入,需检查):

include ':app',':jpush-react-native',68);">':jcore-react-native'
project(':jpush-react-native').projectDir = new File(rootProject.projectDir,68);">'../node_modules/jpush-react-native/android')
':jcore-react-native').projectDir = new File(rootProject.projectDir,68);">'../node_modules/jcore-react-native/android')

3、在android/app/manifests/AndroidManifests.xml的<application>加入:

 <Meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/> "JPUSH_APPKEY" {JPUSH_APPKEY}"/>
并在上方加入极光推送权限:
<permission {applicationId}.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />

4、在MainActivity中加入如下代码

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        JPushInterface.init(this);
    }
    onPause() {
        super.onPause();
        JPushInterface.onPause(this);
    }
    onResume() {
        super.onResume();
        JPushInterface.onResume(this);
    }
    onDestroy() {
        super.onDestroy();
    }

5、在MainApplication类里加入如下代码

private boolean SHUTDOWN_TOAST = false;
private boolean SHUTDOWN_LOG = false;

在getPackages()方法中加入:

newJPushPackage(SHUTDOWN_TOAST,SHUTDOWN_LOG)

至此,native端需要配置的工作已经全部完成,此时就可以用js进行调用

demo的代码上传GitHub,下下来直接npm install就行,以上就是react native 极光推送的安装配置过程。

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...