准备工作
https://www.jiguang.cn/accounts/login/form
在极光推送平台上注册账号,新建应用,获取AppKey
一、安装
我的react-native版本是0.42.0
npm install jcore-react-native --save
npm install jpush-react-native --save
react-native link
二、配置
1、android/settings.gradle
添加(已有请忽略)
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')
2、android/app/build.gradle
(1)defaultConfig中添加
manifestPlaceholders = [
JPUSH_APPKEY: "yourAPPKey", //在此替换你的APPKey
APP_CHANNEL: "developer-default" //应用渠道号,默认就好
]
(2)dependencies中添加(已有请忽略)
compile project(':jpush-react-native')
compile project(':jcore-react-native')
3、android/app/src/main/AndroidManifest.xml
参考:https://github.com/zorroyz/jpush/blob/master/android/app/src/main/AndroidManifest.xml
4、在android/app/src/main/java/com/项目名/MainActivity中添加
import cn.jpush.android.api.JPushInterface;
@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();
}
5、在android/app/src/main/java/com/项目名/MainApplication中添加
import cn.jpush.reactnativejpush.JPushPackage;
private boolean SHUTDOWN_TOAST = false;
private boolean SHUTDOWN_LOG = false;
new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
需要配置的工作已经全部完成,可以在js中使用了
在极光网站上推送测试:
配置中遇到的问题(按此步骤,这些问题全部解决):
1、
极光后台错误提示:
没有满足条件的推送目标
如果是群发:则此应用还没有一个客户端用户注册。请检查 SDK 集成是否正常。
如果是推送给某别名或者标签:则此别名或者标签还没有在任何客户端SDK提交设置成功。
如果是根据 Registration ID 推送:则此 Registration ID 不存在。
2、按官网的代码配置后,启动不了了
3、打包时出错
参考:
http://www.jianshu.com/p/e7f81b5e1807