如何使用Google API将FCM推送通知发送到多个设备?

时间:2019-10-01 10:27:41

标签: node.js push-notification firebase-cloud-messaging google-cloud-messaging google-api-client

我想一次将推送通知发送到多个设备。我可以传递令牌数组吗? 是否可以使用Google API?请帮助我。

request(
  {
    method: 'POST',
    uri:
      'https://fcm.googleapis.com/v1/projects/projectId/messages:send',
    headers: {
      'content-type': 'application/json',
      Authorization: `Bearer ${token}`,
      'apns-priority': 'high',
      content_available: true
    },
    body: {
      message: {
        token: token,
        notification: {
          body: 'This is an FCM notification message!',
          title: 'FCM Title'
        },
        android: {
          notification: {
            sound: 'default'
          }
        }
      }
    },
    json: true
  },
  async function(error, response, body) {
    if (error) {
      console.log(error);
    }
    console.log(body);
  }
);

1 个答案:

答案 0 :(得分:0)

如果您想自己发出POST请求,则可以选择:

1)使用旧版HTTP服务器协议。这样,您将可以使用“ registration_ids”字段,该字段期望POST正文中包含令牌字符串数组。 Docs here

2)坚持使用当前使用的HTTP v1 API,但是由于“令牌”字段仅包含字符串,因此您可以先为用户订阅特定主题,然后在POST的“主题”字段中使用该主题身体。

此外,您可能更喜欢使用 Admin SDK 发送批量通知。您可以进一步检查here