我正在尝试使用cordova-plugin-fcm在Android设备上运行我的Ionic应用程序,但是当我尝试安装它( cordova plugin add cordova-plugin-fcm
)或运行它( ionic cordova run android
)时,我收到以下错误 . 尽管有错误,插件仍列在cordova插件中 .
(node:2360)UnhandledPromiseRejectionWarning:未处理的promise拒绝(拒绝id:1):TypeError:无效数据,chunk必须是字符串或缓冲区,而不是对象(node:2360)[DEP0018] DeprecationWarning:不推荐使用未处理的promise拒绝 . 将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程 .
版本:
离子CLI:3.19.0
cordova:8.0.0
cordova-android:7.0.0
3 回答
问题是你安装的cordova-android版本 . 我用android@6.3.0尝试了它并安装了插件,没有任何错误
使用cordova-android@7.0.0,目录结构已更改,但降级不应该是一个选项 .
请检查我对cordova-plugin-fcm GitHub存储库中的问题的评论:https://github.com/fechanique/cordova-plugin-fcm/issues/213#issuecomment-357162384
刚与cordova 8.0和android 7.0有同样的问题
解决方法是更新插件文件夹中的fcm_config_files_process.js . 进行以下更改:
将“platforms / android / res / values / strings.xml”替换为“platforms / android / app / src / main / res / values / strings.xml”
将“platforms / android / google-services.json”替换为“platforms / android / app / google-services.json”
像其他人所说,问题是目录路径已经改变 . 但是在js文件中更新它们并不困难 . 我很惊讶他们现在还没有解决这个问题 .