Wad*_*acy 5 android firebase firebase-cloud-messaging
我正在尝试弄清楚如何使用Firebase向Android发送推送通知,并使用旧版HTTP(https://fcm.googleapis.com/fcm/send)进行工作,但文档建议使用较新的端点(https: //fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send).我似乎无法让它工作,因为我一直得到这样的回应:
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}
Run Code Online (Sandbox Code Playgroud)
使用https://firebase.google.com/docs/cloud-messaging/send-message#send_messages_to_specific_devices上的示例进行此操作:
POST https://fcm.googleapis.com/v1/projects/project-916177026973/messages:send HTTP/1.1
cache-control: no-cache
Postman-Token: 81403929-77ba-4568-8681-a854527ccb22
Content-Type: application/json
Authorization: Bearer <token redacted>
User-Agent: PostmanRuntime/6.4.1
Accept: */*
Host: fcm.googleapis.com
accept-encoding: gzip, deflate
content-length: 319
Connection: close
{
"message":{
"token" : <token redacted>,
"notification" : {
"body" : "This is an FCM notification message!",
"title" : "FCM Message",
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还尝试删除最后一个逗号以使其符合JSON并仍然没有运气.有任何想法吗?
正如 OP 指出的那样,如果您想通过 HTTP 发送消息,Firebase 现在会建议 FCM v1 端点。
要通过 HTTP 发送消息,请将 HTTP POST 请求发送到 FCM v1 端点并指定发送方法。端点 URL 必须包含您的应用的 Firebase 项目的项目 ID,可在 Firebase 控制台的常规项目设置选项卡中找到。
它看起来像这样:
POST https://fcm.googleapis.com/v1/projects/your_project_id_here/messages:send HTTP/
Run Code Online (Sandbox Code Playgroud)
URL 部分your_project_id_here 是您的项目 ID。您需要project Id在Settings您的项目的 Firebase 控制台部分的 选项卡下找到特定于项目的项目General。
寻找Project ID。如果您对自己的正确性有任何疑问,Project ID那么网站地址中的 URL 也是您项目的一部分。看起来像:
https://console.firebase.google.com/project/your_project_id_here/settings/general/android:your_project_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |