最近项目中须要用到通知,综合比较决定使用极光推送,看了看网上的教程好像都没有一个整合好的例子,或者是步骤有些问题,本身也折腾了很长时间,在此把极光推送配置的步骤整理一下,提供给各位有须要的朋友node
一.安装
个人react native使用的是最新版本0.43.3,对应的极光推送须要同时安装jpush和jcore,react
npm install jcore-react-native --save npm install jpush-react-native --save react-native link
二.配置android
一、在android/app/build.gradle里android>>defaultConfig中加入:git
manifestPlaceholders = [ JPUSH_APPKEY: "yourAppKey", //在极光推送后台申请的APPKey APP_CHANNEL: "developer-default" ]
在dependencies中加入:(link后自动加入,需检查)github
compile project(':jpush-react-native') // 添加 jpush 依赖 compile project(':jcore-react-native')
二、在项目的settings.gradle中加入(link后自动加入,需检查):npm
include ':app', ':jpush-react-native', ':jcore-react-native' project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android') project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android')
三、在android/app/manifests/AndroidManifests.xml的<application>加入:react-native
<meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/> <meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/>
并在上方加入极光推送权限:
<permission android:name="${applicationId}.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
四、在MainActivity中加入以下代码:app
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); JPushInterface.init(this); } @Override protected void onPause() { super.onPause(); JPushInterface.onPause(this); } @Override protected void onResume() { super.onResume(); JPushInterface.onResume(this); } @Override protected void onDestroy() { super.onDestroy(); }
五、在MainApplication类里加入以下代码:ide
private boolean SHUTDOWN_TOAST = false; private boolean SHUTDOWN_LOG = false;
在getPackages()方法中加入:gradle
new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
至此,native端须要配置的工做已经所有完成,此时就能够用js进行调用。
demo的代码已上传到GitHub,下下来直接npm install就行,以上就是react native 极光推送的安装配置过程。