デバイス グループ メッセージ機能は非推奨となり、2027 年 9 月 29 日以降は機能しなくなります。この手順は、この機能からの移行に役立ちます。
独自のグループ トークン マッピングを管理する
FCM はデバイス グループを保存しなくなるため、アプリサーバーでグループ(ユーザー ID など)と関連する FCM 登録トークンのマッピングを構築して維持する必要があります。Cloud Firestore、Realtime Database、リレーショナル データベースなどの永続ストレージ ソリューションを使用することをおすすめします。
クライアント アプリは、起動時またはトークンの更新時にトークンを取得し、バックエンドに送信して保存する必要があります。バックエンドは、そのトークンを適切なユーザーまたはグループに関連付けます。
既存のグループとトークンのマッピングを取得する
FCM デバイス グループ管理 API には、特定の notification_key に属する登録トークンのリストを取得するための GET メソッドが用意されています。
警告: グループとトークンのマッピングを取得する API は 2027 年 9 月 29 日に廃止され、その後はデータが保持されなくなります。必要に応じて、2027 年 9 月 29 日までにグループデータを取得してください。
グループの各トークンにメッセージを送信する
新しく管理されたグループとトークンのマッピングを使用してグループにメッセージを送信するには、データベースからトークンのリストを取得します。
Firebase Admin SDK を使用している場合は、マルチキャスト メッセージング API(sendEachForMulticast)を使用して、1 つのメッセージ ペイロードを複数のトークンに一度に送信できます。
FCM HTTP v1 API を直接呼び出す場合は、グループ内のトークンごとに個別の HTTP リクエストを作成する必要があります。登録トークンのリストを反復処理し、メッセージ ペイロードに token フィールドを明示的に設定してリクエストを送信します。
大規模なファンアウトにはトピック メッセージングを使用する
トピック メッセージングは、グループ メッセージングの直接の代替手段ではありません。トピックは、レイテンシではなくスループットに対して最適化されており、大規模なファンアウトにおすすめです。トピック サブスクリプションを管理する方法と、トピックにメッセージを送信する方法(該当する場合)について学習します。