Googleのプッシュ通知配信サービス「GCM」が廃止になります

kawamurayukaIMGL0432_TP_V4

サーバー開発担当の木下です。

来週はUbuntu 18.04 LTSのFinal Releaseが控えていますね。木下のメイン環境はUbuntu 17.10なのですが、どうにも不安定な部分が多く、Skypeを起動するとWaylandが落ちたり、SlackやVSCodeで日本語入力ができなかったりと、色々苦戦させられました。18.04でXorgに戻すようですし、テーマも若干変わるようで、色々楽しみです。

さて今回は、Googleのプッシュ通知配信サービス「GCM」が廃止になります、のお話です。

C2DMからFCMへ

Androidにプッシュ通知機能が実装されたのは2010年、Android2.2の頃で、「Cloud to Device Messaging」(C2DM)というサービス名で運用されていました。
2012年には「Google Cloud Messaging」(GCM)が発表され、実装が簡単になり、サーバー・クライアント双方向のメッセージングができるようになりました。これに伴い、C2DMは2015年にサービスが完全に終了されました。
さらに、2016年には「Firebase Cloud Messaging」(FCM)が発表されました。GCMの機能強化版のような位置づけで、これからはメッセージングに関する新機能をFCMに実装していく、というアナウンスがされていました。
そして先週(2018/04/10)、GoogleがGCMを「非推奨」にしました。2019年4月11日以降にGCMのサービスが停止されるため、引き続きAndroidアプリでプッシュ通知を使用したい場合はFCMへの移行が必要になります。

移行手順

2019年4月11日までに、サーバーとアプリの両方で移行作業が必要になります。
GoogleのドキュメントにMigration Guideが上がっていますが、簡単にまとめてみたいと思います。

アプリ

build.gradleを編集して、ライブラリをGCMからFCMへ差し替えます。
AndroidManifest.xmlにはFCMに関する記述が自動で追加されますが、GCMやC2DMに関する記述が残っている場合は自分で消す必要があります。
作業完了後にビルドし、ストアにリリースしているアプリであればアップデート申請に出します。

サーバー

AndroidアプリへのプッシュをGCMで実装している場合、基本的にはエンドポイントのURLを書き換えるだけで作業完了できるはずです。
場合によっては通知送信のロジックやパラメータを改修する必要があるかもしれません。

プッシュ通知はイーディーエーへおまかせください

Androidはプッシュ通知まわりの機能がどんどん強化され、iOSに比べて格段にリッチになっている印象がありますが、古いサービスはどんどん切り捨てられていくため、ついていくのは大変ですね・・・

プッシュ通知に関するご相談はぜひイーディーエーへ!

木下 晴晶
e.d.aではWeb全般の開発・運用を担当。Plamo->Fedora->Ubuntu->CentOS->Ubuntuと移り住んできたLinux好き。趣味はゆったりした鉄道旅行。最近脂肪肝の診断を受けるも、未だに座右の銘は「ニンニクいれますか?」