项目中使用的时候,首先参考了极光推送的官方文档:https://github.com/jpush/jpush-phonegap-plugin,调用 Android 和 iOS 通用的 API,使用安卓机测试效果。
使用问题:
window.JPush.init() 报错:init of undefined ...
window.JPush.getRegistrationID(onGetRegistrationID),也没有进入该函数更不消说获取 RegistrationID 了
此时调用的 API 代码都是按照 GitHub 上 example/index.html 中的代码执行的,鄙人不才,愣是研究了两天,终是搞清楚了规范
猜测原因:
1、开始下载 jpush-phonegap-plugin 的时候,APP_KEY 值不对,后来直接在代码中替换了 APP_KEY 的值,可能造成一些问题
2、网络环境问题,打包后的 android 文件夹内, ST/platforms/android/app/src/main/assets/www 下没有plugins 文件夹,说明安装有问题
操作步骤:
项目名称:ST
1、删除 android 文件夹 (ST/platforms/android)
2、卸载 jpush-phonegap-plugin 和 cordova-plugin-jcore
cordova plugin remove jpush-phonegap-plugin
cordova plugin remove cordova-plugin-jcore
无法先卸载 cordova-plugin-jcore,因为该插件被极光插件所依赖
3、重新添加安卓
cordova platform add android
4、下载极光推送插件
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
5、使用 GitHub 上 example/index.html 里面的代码
6、执行 npm run android
此时,可以正确获取到 RegistrationID 了
以上操作所对应版本说明:
cordova-android : 7.1.1
cordova-plugin-jcore: 1.2.3
jpush-phonegap-plugin: 3.4.3
ps:如果碰到类似情况,安装时使用了错误的 APP_KEY,首先卸载 jpush-phonegap-plugin ,不要只改了代码中的 APP_KEY 值就继续打包哦,能容易出BUG。。。