我正在尝试在带有cordova-plugin-fcm的Android设备中运行我的Ionic应用程序,但是当我尝试安装它(cordova plugin add cordova-plugin-fcm
(或运行它(ionic cordova run android
(时,我收到以下错误。尽管存在错误,该插件仍列在科尔多瓦插件中。
ID:1(:类型错误:数据无效,块必须是字符串或缓冲区,而不是对象 (节点:2360( [DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止 Node.js 进程。
版本:
离子 CLI:3.19.0
科尔多瓦: 8.0.0
科尔多瓦安卓:7.0.0
问题出在您安装的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文件中更新它们并不难。我很惊讶他们现在还没有解决这个问题。