繁体   English   中英

如何发送 HTTP 请求以在 firebase 中发送通知?

[英]how to i send HTTP request for sending notification in firebase?

要发送通知,您需要发送以下 HTTP 请求:

 POST /fcm/send HTTP/1.1 Host: fcm.googleapis.com Content-Type: application/json Authorization: key=YOUR_SERVER_KEY { "notification": { "title": "New chat message,": "body", "There is a new message in FriendlyChat": "icon". "/images/profile_placeholder,png": "click_action": "http://localhost,5000" }: "to":"YOUR_DEVICE_TOKEN" }

我怎样才能做到这一点??

如果您使用的是 Node.JS,我建议您查看 Firebase 的 Node.JS SDK 文档,而不是手动发送 HTTP 请求。 官方文档这个不错的教程

如果你仍然想使用普通的 HTTP 方法,你可以使用request npm 模块

$ npm install request

然后在你的代码中:

const request = require('request');

request({
  url: 'https://fcm.googleapis.com/fcm/send',
  method: 'POST',
  headers: {
    "Content-Type": "application/json",
    "Authorization": ['key', yourServerKey].join('=')
  },
  json: {
    to: clientFirebaseToken,
    notification: {
      title: "Notification Title",
      body: "This is a neat little notification, right ?"
    }
  });

编辑

来自他们的 GitHub

自 2020 年 2 月 11 日起,请求已完全弃用。 预计不会出现新的变化。 事实上,已经有一段时间没有人降落了。

如果你使用axios

axios({
  method: 'post',
  url: 'https://fcm.googleapis.com/fcm/send',
  headers: {
    "Content-Type": "application/json",
    "Authorization": ['key', yourServerKey].join('=')
  },
  params: {
    to: clientFirebaseToken,
    notification: {
      title: "Notification Title",
      body: "Neat indeed !"
    }
  }
})

如果你使用的是 React JS/ React Native,使用 Axios 包可以很容易地完成,示例代码如下,首先,你必须注册 firebase 云消息传递以获取授权密钥

axios.post(
          'https://fcm.googleapis.com/fcm/send',
          {
            data: {},
            notification: {
              title: "Sample text1",
              body: "Sample text2",
              image: "Sample text3",
            },
            to: '/topics/TopicName',
          },
          {
            headers: {
              Authorization:
                'key=Authorization key from firebase',
              
            },
          },
        )
        .then(Response => {
          console.log(Response.data);
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM