今回は、Cordovaアプリに cordova-plugin-fcm を導入した際に発生したエラーについてです。
なお、端末は Android です。
エラーはこちら。
Error: Invalid data, chunk must be a string or buffer, not object
翻訳すると、「エラー:無効なデータです。チャンクはオブジェクトではなく文字列またはバッファでなければなりません」とのこと。
これだけだとよく分かりませんが、FCM の導入時に作成した google-services.json が関係しているのでしょうか。
が、ファイルを置く場所はあっているし、内容もダウンロードした時のままなので、間違っているはずもなく…。
そして調べたところ、下記の記事がヒットしました。
Cordovaで cordova-plugin-fcm を追加すると発生するエラーを消す方法 – 備忘録
https://kagasu.hatenablog.com/entry/2018/10/04/215302
まさに求めていた内容そのもの!
原因は分かりませんでしたが、対処法としては、fcm_config_files_process.js
というファイルを、下記の内容に置き換えて実行するだけでした。
なお、fcm_config_files_process.js の場所は、下記にあります。
[プロジェクト名]/plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js
書き換えるファイルの内容については、下記をまるっとコピー&ペーストしてください。
Invalid data, chunk must be a string or buffer, not object・Issues #213・fechanique/cordova-plugin-fcm・GitHub
https://github.com/fechanique/cordova-plugin-fcm/issues/213#issuecomment-357162384
あとは、通常通りビルドしたところ、発生していたエラーが表示されなくなりました。
以上、cordova-plugin-fcm 導入時に発生したエラーの対処法でした。