我现在在我的应用中设置了Firebase通知,当我发送消息时,消息会发送给我的应用的所有用户。 (我目前通过Firebase控制台发送消息)。我想要另一种发送不涉及Firebase控制台的推送通知的方式,我相信HTTP Post是一种简单的方法。如何使用HTTP Post远程发送推送通知?
答案 0 :(得分:3)
编辑,因为评论: 请确保不将服务器密钥包含在您的客户端中。有些方法“不是那么伟大的人”找到它并做些什么...... 实现这一目标的正确方法是让您的客户端指示您的应用服务器发送通知。
您必须向Google-API-Endpoint发送HTTP-Post。
您需要以下标题:
Content-Type: application/json
Authorization: key={your_server_key}
您可以在Firebase-Project中获取您的服务器密钥。
HTTP-Post-Content:示例
{
"notification": {
"title": "Notification Title",
"text": "The Text of the notification."
},
"project_id": "<your firebase-project-id",
"to":"the specific client-device-id"
}
示例设备ID:
cc6VGMjpIiA:APA91bGLpm5Z2p0NNh7nxttCTVd1tTsL2jObDaS9U8G1YjDjkpwkBlRLjU89ns4ujQ7rFU1Z2NshpUAX2RiQiIDKhHJdB0RtSS3H6nTT-lGEkIpzVtVzJpLIVqzSVbRjmyYlxD3BSLZl
您必须将此请求发送至https://fcm.googleapis.com/fcm/send
。
截至目前,无法使用API向所有设备发送通知。您 可以使用Firebase-Console。
我喜欢使用Chrome-Plugin“Postman”发送API请求,因为您可以保存HTTP请求。非常舒服。
您也可以使用curl。
curl
-X POST
-d "{ "notification": {
"title": "Notification Title",
"text": "The Text of the notification."
},
"project_id": "<your firebase-project-id",
"to":"the specific client-device-id"
}"
-H "Content-Type: application/json"
-H "Authorization: key={your_server_key}"
https://fcm.googleapis.com/fcm/send