きっかけ
私のローカルでプッシュ通知が出来てるビルドが作れて、他の開発環境でビルドするとデバッグすらできないという事態が発生。
行きつくところ、phonegap-plugin-push(プッシュ通知のためのプラグイン)のバージョンの問題だった。
前提
基本の構成は以下の通り。
- ionic3系のプロジェクト
- cordovaもそれに付随したバージョン
- Androidのビルドしかしてない(ああ、browserもあるけどここでは関係ない)
- LoopbackというものでAPIサーバを作っている
- プッシュ通知はFirebaseのMessagingを使用
LoopbackのPushの使い方をベースにプッシュ通知を実装している。
https://github.com/strongloop/loopback-component-push
https://github.com/strongloop/loopback-example-push
ionic3でプッシュ通知をするのに関係するライブラリのバージョン
とにかくまずかったのは、package.jsonやらconfig.xmlやらのバージョン指定が「^」指定でふわふわになっていたこと。
最近はionic4系もでたからか、どんどんバージョンアップされる。
今回はプロジェクトがionic3系なので、その中でプッシュ通知が使用できる各パッケージ等のバージョンを記録しておく。(config.xmlでの指定)
- android(package.jsonではcordva-android):6.3.0
- phonegap-plugin-push:2.1.3
-
<variable name="FCM_VERSION" value="11.6.2" />
も指定したほうがよさそう。
-
愚痴
androidを7.1.0にしたりとかいろいろやって、休みをふいにしたけど、まとめると上の二つのバージョンしか重要じゃないんだな。。
もっと大きいメモになると思ったのにな。
ionic4にプロジェクトを変更しようかとも考えたけど、androidを7.1.0にしただけで影響範囲大きかったのでやめた。
やっぱりバージョンはionic3系で全部固定するべきなのかな。。