目前时间:2017/9/21
"react": "16.0.0-alpha.12",
"react-native": "0.47.2",
"jcore-react-native": "^1.1.8-beta2",
"jpush-react-native": "^2.0.9",
依照https://github.com/jpush/jpush-react-native/tree/master/example上面配置,依旧推送不成功,最后发现问题出在两个地方:
1.在项目的AndroidManifest.xml里面加上下面代码,注意下protectionLevel,这里是权限保护设置,我在测试时设置为了normal
<!--添加通知权限,${ApplicationID}替换成你的applicationID!-->
<premission
android:name="${ApplicationID}.permission.JPUSH_MESSAGE"
android:protectionLevel="signature"/>
2.打开node_modules/jpush_react-native/android/src/AndroidManifest.xml,将所有的${applicationId}替换成你的包名。
注意:
npm run configureJPush <yourAppKey> <yourModuleName>
这个命令不建议使用,还是自己手动去配置比较好,因为执行有可能失败,每次执行他会将原来在项目中的配置继续添加,导致打包失败
另外,rnpm link jpush-react-native
这个命令其实就是把该包里面的原生项目代码导入你当前项目中,由于我是使用的react-native link
(会把所有模块的都导入,不建议使用,否则你得删好多重复的),我估计还需要加上rnpm link jcore-react-native