あれ通知されない?
Android Oreo+targetSdkVersion=26でビルドしたアプリに対してプッシュ通知した際、Android Oreoからの新機能である「通知チャンネル」に対応しないと通知が表示されません。
https://qiita.com/mm36/items/0d356e814ef3da54c9da
Cordovaの場合
Cordovaでプッシュ通知をする場合、phonegap-plugin-pushを使うケースが多いと思います。
このプラグインも最新版(v2.2.2 2018/04/11現在)では通知チャンネルに対応していて、ちゃんと通知が届きます。
しかし、v2.xはFCM対応しているので、GCMのままが良いんだっ・・という場合には使えません。
(何でいまだにGCM使ってんの?というツッコミはなしで・・)
応急処置
そこで、phonegap-plugin-push(のv1.xブランチ)をforkして、通知チャンネルに対応しました。
https://github.com/pscsrv/phonegap-plugin-push/commit/e8898610f3ad42404a85946548a5828563f9bd83
以下のURLをインポートすればインストールできます。
https://github.com/pscsrv/phonegap-plugin-push.git#v1.x_oreo
init関数でデフォルトの通知チャンネルを作成して、通知を受信した際は登録したデフォルトのチャンネルで通知を表示する、といった流れです。応急処置なので、最低限の実装です。
※v2.xなら通知チャンネルの作成や削除もできます。
GCMは2019/04/11に削除される
2019/04/11にGCMのサーバーとクライアントAPIが削除されることがアナウンスされました。
https://developers.google.com/cloud-messaging/android/android-migrate-fcm
とりあえず延命措置してみましたが、さっさとFCMに移行しましょう!