我正在测试我当地的网络推送。 当我在chrome上捕获终点时,下面的命令给了我推动。
curl --header "Authorization: key=XXXXXXXXXXXX" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"fs...Tw:APA...SzXha\"]}"
但是当我允许并捕获Mozilla的终点时。 上述命令的回应:
{"multicast_id":############,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
结束点我接受了mozilla
14:20:55.180端点:"https://updates.push.services.mozilla.com/wpush/v1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE"1 main.js:8:13
答案 0 :(得分:1)
这是一个简单的演示,适用于Google Chrome和Mozilla Firefox浏览器:https://serviceworke.rs/push-simple_demo.html
尝试在两个浏览器中打开它,您将看到您必须使用哪个链接为您的浏览器发送推送消息以及Google Chrome和Mozilla Firefox的链接之间的区别。对我来说,链接是:
谷歌浏览器
curl -H "TTL: 60" -X POST https://android.googleapis.com/gcm/send/f3WCPreREPE:APA91bHqGD-Oc4o8LqxnuepBvw4SGtIlFeyxP0F2ksMjxPH9yZxLfGZx_6aN7X9cqiSvIQGN4HI6KnAiuWac-_jvKMb1vTFE7_GuPZG1WsNzhyEQVT-BdXIim79SJOyWbwkV91S23isP
Mozilla Firefox
curl -H "TTL: 60" -X POST https://updates.push.services.mozilla.com/wpush/v1/gAAAAABXt1OmbjxoPG6_YpmEzYZdsYWWE9bj_JQUUbqwuqTB53t_uBKW3bOZNqJ9BG0ZBkEOpPffYHUT3VW-iI7XeBtFydNWnx4KlIGKL75443jdErWhrarb9GAuzwdP_Cen0kOhDG3G
它还有客户端和服务器端的源代码。
或者查看用于WebPush通知的java lib的源代码:https://github.com/MartijnDwars/web-push/blob/master/src/main/java/nl/martijndwars/webpush/PushService.java#L88-L115
代码非常简单,它解释了如何为FCM / GCM或Mozilla autopush构建HTTP请求。
答案 1 :(得分:0)
您必须执行POST请求:
https://updates.push.services.mozilla.com/wpush/v1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE
您不能将GCM用于Mozilla。 GCM仅适用于Chrome。