LoginSignup
7
1

More than 5 years have passed since last update.

GCM+CordovaでAndroid Oreoにプッシュ通知する際の注意

Posted at

あれ通知されない?

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に移行しましょう!

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1