web-dev-qa-db-ja.com

Firebase Cloud Messaging(FCM)-HTTP V1 APIまたはレガシーHTTP API?

私たちの目標は、バックエンドからデバイスのグループに通知を送信することであり、サーバー側からのみ、どのデバイスが通知を受信するかを知ることができます。

主にXamarin iOS/Android/Formsで作業するため、AppCenterでいくつかの試みを行いましたが、今では、Firebase APIを直接使用する方が幅が広くて強力であるため、おそらくそれを使用する方が良いという疑問があります。

新しいバージョンのAPI(HTTP V1)では、トークンのリストに通知を送信できないことがわかりました。この機能は、registration_idsパラメータを使用してレガシーAPIで利用可能でした( https:// firebase。 google.com/docs/cloud-messaging/send-message )。

デバイスグループ名(レガシープロトコルのみ)

トピックを使用することはできません通信を送信するときは、通知用の「メーリングリスト」を準備するのがサーバーの責任であるためです。

デバイスグループメッセージング( https://firebase.google.com/docs/cloud-messaging/Android/device-group )を使用することを考えていましたが、これらはレガシーAPIの一部であり、私はm新しいバージョンのAPIでそれらを使用することが理にかなっている/それが可能であるかどうかは不明です。

100-200-500のプッシュ通知のバッチを1つずつ1つのトークンに送信するオプションはありますか?理論的には、送信できる通知に制限はありませんが、あまりにも多くの通知を送信すると、禁止されるリスクがあるのではないかと心配しています。

レガシーAPIを使用する方が良いですか?また、AppCenter(Microsoft)はレガシーAPIを使用しています。これは、セットアップがどのように機能するか、AppCenterのコンソールからトークンのリストに通知を送信できるため、Firebaseのコンソールでは使用できない機能です。

別の人がちょうど似たような質問をしましたが、答えはトピックを使用することでした( 一度にすべてのユーザーにFirebase通知を送信する方法は? )。

6
Mauro Piccotti

私の answer here にあるコメントのリンクからここにアクセスします。そこに私の応答を繰り返しますが、v1を使用して複数のトークンにメッセージを送信する場合、registration_idsはサポートされていないため、ここで推奨されるアプローチはトピックメッセージングを使用することです。

レガシーAPIを使用する方が良いですか?

v1は、 より安全なクロスプラットフォームのFCMクライアントにメッセージを送信するための将来を保証する方法として説明されました 。 OAuth2セキュリティモデルを使用しているため、より安全です。

ただし、レガシーAPIを使用した方がユースケースが優れている場合は、それを使用することをお勧めします。

4
AL.

このページでは、マルチキャスト機能を引き続き使用する場合はレガシーAPIを使用することをお勧めします: https://firebase.google.com/docs/cloud-messaging/migrate-v1

ただし、デバイスグループメッセージングまたはマルチキャストメッセージングを使用するアプリは、APIの将来のバージョンを待つことを好む場合があります。 HTTP v1は、レガシーAPIのこれらの機能をサポートしていません。

4
Sam