从多个服务器使用 Firebase Messaging 发送推送通知

Send push notifications with Firebase Messaging from several servers

我的服务器应用程序正在使用 Firebase Messaging 发送推送通知。我有 Firebase 服务帐户。代码非常简单,如下所示:

FirebaseOptions options = new FirebaseOptions.Builder()
        .setCredentials(credentials)
        .build();
FirebaseApp firebaseApp = FirebaseApp.initializeApp(options);
firebaseMessaging = FirebaseMessaging.getInstance(firebaseApp);

并像这样发送:

String messageId = firebaseMessaging.send(...);

我正在使用 firebase-admin-sdk 我有几台带有此应用程序的服务器,它们都会发送推送通知。 问题是

  1. 我可以同时从多个服务器使用同一个服务帐户吗?
  2. Firebase Messaging 中的服务帐户是否有任何 limitations/quotas(可以使用多少个 IP 地址,每个 IP 或每个帐户有多少请求等)?
  3. 我可以使用 JWT 从服务器发送推送通知吗?
  1. 是的,你可以。只要每台服务器都能够生成访问令牌,您应该没问题。参见 sample

  2. 不,FCM 没有任何限制。如果发现滥用,可以限制 FCM。来自 documentation:

Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no cost.

  1. 不,FCM Auth 仅支持 OAuth 2.0 访问令牌。 FCM Legacy API 支持可从 Firebase 控制台获得的 API 密钥。