6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[FCM] the legacy Firebase Cloud Messaging (FCM) APIs 廃止予定のお知らせ

Last updated at Posted at 2023-06-27

先日、とあるプロジェクトにてGoogleから以下のようなメールが届きました。

We’re writing to let you know that starting June 20, 2024 the legacy Firebase Cloud Messaging (FCM) APIs will be discontinued.

Your Firebase project(s) that use Firebase Cloud Messaging APIs are listed below:

  1. project_name (project_id)
    1. Your recent usage of impacted APIs/features: Server Keys
    2. Your recent usage of impacted APIs/features: Legacy HTTP protocol

  2. project_name_stg (project_stg_id)
    1. Your recent usage of impacted APIs/features: Legacy HTTP protocol
    2. Your recent usage of impacted APIs/features: Server Keys

どうやらFCMの話のようです。

the legacy Firebase Cloud Messaging (FCM) APIs will be discontinued.

関連するFirebase公式ページとしては、この辺りになりそうです。

移行についてのアナウンスは前からあると思われますが、メールの内容の限りでは、2024年6月20日より、レガシーなFirebase Cloud Messaging (FCM) APIは廃止される予定のようです。

と言われてもアプリエンジニア的には何をすれば良いのか、、:thinking:
FCMのAPIをモバイルアプリから直接使用している箇所はないはずだし、、?
やるとしても、firebase-messagingライブラリを更新するくらいかなと。

モバイルアプリのPush導入は一般的によくあるものだと思いますが、かといって頻繁に触るところでもない。
おさらいがてら、どこを解決していくべきなのかを探ります。

FCM & App & Backend 構成

モバイルアプリとPush機能の構成については、大まかですが以下のようなイメージです。
push_flow.drawio.png
FCMやAPNs経由で取得したデバイストークンをバックエンドに登録させ、何かイベントが発生した時にそのバックエンドからPush通知の送信をFCMやAPNs経由で行う、という流れ。
バックエンド周りはSaaSやBaaSとして提供されていることも多いかと思います。まさに当プロジェクトもPush通知機能の連携にそれらを採用しています。
また、モバイルアプリ→バックエンドの通信(③などにあたる)は、各OSに用意されたライブラリを使って行っています。

FCMのAPIを使用するのは、Push要求を行うバックエンド(Server)であることが多いはず。
そういえば、Push通知サービス管理画面(バックエンド)にサーバーキーを設定する必要があったな、、ということを思い出しました。

Server Key

以下のページでサーバーキーについての説明がありました。

アプリサーバーによる Google サービスへのアクセス(以前の Firebase Cloud Messaging プロトコル経由でのメッセージの送信など)を承認するサーバーキー。

FCM経由でのPush送信などに必要なキーということですね。

さらにこのように続きます。

サーバーキーは Firebase プロジェクトの作成時に取得します。サーバーキーを確認するには、Firebase コンソールの [設定] ペインにある [クラウド メッセージング] タブに移動します。

そういえばこのような設定がありました。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333437323436332f30636130396134312d326336332d353365632d366537302d6131306637366530376462342e706e67.png
そしてこのサーバーキーを、Push通知のSaaS管理画面で設定しています。

Firebaseプロジェクト設定画面からは、サーバーキーを削除・GCPでレガシーAPIを無効化とする必要がありそう。
その前にバックエンドがFCM連携のやり方を変える必要があるか、、?
というところで一旦調査をストップ。

まとめ

  • (現時点での発表では)2024年6月20日より、レガシーなFirebase Cloud Messaging (FCM) APIは廃止となる予定。
  • Firebaseプロジェクトで参照するServer Keyを使ってバックエンドとFCMの連携を行うやり方はもうできなくなるかもしれない。

(記憶力が終わってる)

6
4
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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?