【问题标题】:web push notification on mozillaMozilla 上的网络推送通知
【发布时间】:2018-04-04 18:12:38
【问题描述】:

我正在本地测试网络推送。 当我在 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

【问题讨论】:

    标签: push-notification mozilla web-push


    【解决方案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
    

    火狐浏览器

    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 自动推送构建 HTTP 请求。

    【讨论】:

      【解决方案2】:

      您必须发出 POST 请求:

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

      您不能将 GCM 用于 Mozilla。 GCM 仅适用于 Chrome。

      【讨论】:

      • 我同意 gcm 适用于 chrome。 what i am asking is when i run curl command using "v1/gAAAAABXobDz85y9Aqz5wn0PVS4ka-p7ESp8fviKNzDPQPWfR4kZfsgUZVx7MauSN4udurIBVlC8-LdG8hsC6jOchCNMEQ2vJ5pK9n-HVf2GpQm7PP6GrsfOjjIeP_uOJDOcMLD7GZKE" as my end point it says InvalidRegistration
      • 正如我所说,GCM 说它是无效的,因为该注册属于 Mozilla,而不是 GCM。顺便说一句,您是否考虑过使用 Pushpad 之类的服务来简化操作?
      猜你喜欢
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多