我目前在我的应用程序中设置了Firebase通知,当我发送一条消息时,该消息将发送给我应用程序的所有用户。(我当前通过Firebase控制台发送消息)。我想找到另一种不涉及Firebase控制台的推送通知方式,我相信使用HTTP Post是一种简单的方法。如何通过HTTP Post远程发送推送通知呢?
我目前在我的应用程序中设置了Firebase通知,当我发送一条消息时,该消息将发送给我应用程序的所有用户。(我当前通过Firebase控制台发送消息)。我想找到另一种不涉及Firebase控制台的推送通知方式,我相信使用HTTP Post是一种简单的方法。如何通过HTTP Post远程发送推送通知呢?
因为评论而进行编辑: 请确保不要将服务器密钥包含在客户端中。有一些方法是“不那么好的人”可以找到它并做些事情... 正确的方法是让你的客户端指示你的应用程序服务器发送通知。
您需要向Google API端点发送HTTP-Post请求。
您需要以下标头:
Content-Type: application/json
Authorization: key={your_server_key}
您可以在 Firebase 项目中获取您的服务器密钥。
HTTP POST 内容:示例
{
"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控制台进行操作。
我喜欢使用Chrome插件“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