【发布时间】:2017-10-08 17:57:18
【问题描述】:
我已完成 Firebase 消息传递教程 和所有必需的步骤。 我从消息服务收到了权限请求和令牌。
但是,如果我想尝试使用 CURL(或通过 javascript fetch 方法)向浏览器发送消息,则不会调用“onMessage”和“firebase-messaging-sw”。
Curl 响应似乎还可以: {"multicast_id":xxx,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"xxx"}]}
所以我得到了成功:1 但它不起作用。
任何人都可以帮助为什么这不起作用以及我可以在哪里检查问题?
我正在使用 Chrome 浏览器和“firebase serve”命令在本地计算机 Windows 10 上工作。
本地网址为http://localhost:5000!
我在命令窗口中使用的 curl 是:
curl -X POST -H "Authorization: key=server-key" -H "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{ \"notification\": { \"title\": \"Test\", \"body\": \"TestBody\", \"icon\": \"firebase-logo.png\", \"click_action\": \"http://localhost:8081\" }, \"to\": \"tokenId\"}"
更新:
我还尝试了快速入门示例,但它不起作用。我得到了相同的响应 success:1 ,但在我的浏览器中没有看到任何通知。
https://github.com/firebase/quickstart-js/tree/master/messaging
【问题讨论】:
-
克里斯,我刚刚测试了 FCM 快速入门示例,它在我的计算机 (MacOS) 上运行良好:我在
http://localhost:8081/收到桌面通知或更新(如果选项卡没有焦点或拥有它),并调用onMessage处理程序。会不会是您同时运行了两个 Chrome 实例(例如 Canary + 常规 Chrome),而您正在观看错误的实例? -
谢谢,但我发现了问题并刚刚发布了解决方案。
标签: firebase firebase-cloud-messaging