2016-08-03 123 views
0

我在本地測試網絡推送。當我在chrome上捕捉終點時,下面命令的 給了我一個推動。mozilla上的網絡推送通知

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"}]} 

端點i收到在Mozilla 14:20:55.180的端點:"https://updates.push.services.mozilla.com/wpush/v1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE"1 main.js:8:13

回答

0

必須執行POST請求:

https://updates.push.services.mozilla.com/wpush/v1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE 

不能使用GCM for Mozilla。 GCM僅適用於Chrome。

+0

我同意gcm是鉻。我所問的是,當我使用「V1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE」作爲我的終點,它說運行curl命令** ** InvalidRegistration –

+0

正如我所說的GCM說,這是無效的,因爲該註冊屬於Mozilla的,不到GCM。順便說一句,你有沒有考慮過使用像Pushpad這樣的服務來簡化事情? – collimarco

1

下面是一個簡單的演示,這兩個瀏覽器谷歌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 

它也有客戶端和服務器端源代碼。

還是看的java LIB對WebPush通知的源代碼:https://github.com/MartijnDwars/web-push/blob/master/src/main/java/nl/martijndwars/webpush/PushService.java#L88-L115
的代碼是很容易的,它解釋瞭如何建立FCM/GCM或Mozilla自動推送的HTTP請求。