使用 Postman 或 Node 模块的设备未收到 GCM 推送
Posted
技术标签:
【中文标题】使用 Postman 或 Node 模块的设备未收到 GCM 推送【英文标题】:GCM push not received on device with Postman or Node modules 【发布时间】:2016-06-26 11:23:58 【问题描述】:我正在尝试设置自己的服务器来处理我的 android 手机应用程序中的 GCM
推送通知,但我遇到了一个令我困惑的问题。
我正在尝试使用Postman
发送推送通知,如下所示:
Request Type: POST
URL: https://android.googleapis.com/gcm/send
Header
Authorization : key=your key //Google API KEY
Content-Type : application/json
JSON (raw) :
"registration_ids":["yours"],
"data":
"Hello" : "World"
我收到这样的回复:
"multicast_id": 7360389950846966696,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
"message_id": "0:1466937961332908%e66a7eb3f9fd7ecd"
]
看起来一切正常,但设备上没有收到任何通知。我也一直在为 Node.js 尝试多个 GCM
模块,使用 same result
:一切似乎都按预期进行,但没有收到任何通知。
但是,如果我使用这个简洁的小网站来测试 GCM,则会收到以下通知: gcm-notification-test-tool-android
在网站上,除了 Postman 请求中使用的信息外,没有提供其他信息,所以这对我来说意义不大。
关于如何解决这个问题以及为什么会发生的任何建议。
【问题讨论】:
您如何处理设备上的请求?请让我们看看 GCM 广播接收器的 onReceive() 函数。 @Gil 我正在使用 Android 手机,所以我所做的只是注册推送并且没有使用 onReceive 功能。 您找到解决方案了吗?我也遇到了同样的问题。 @Gil 不记得我是如何让它工作的,但请确保您已经实现了必要的通知处理程序并在 androidmanifest.xml 中获得了权限 【参考方案1】:听起来很奇怪,那么如何解析服务器返回的 JSON 呢?无论如何,您是否使用上面发送的链接中的“消息”属性?看起来好像您发送“Hello”作为键,并且在您发送“消息”的链接上。
【讨论】:
以上是关于使用 Postman 或 Node 模块的设备未收到 GCM 推送的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Advanced REST Client 或 Postman 测试 Express/node REST API 后端?
Node.js - Http get 不会在 Postman 或浏览器中显示来自 MongoDb 查询的数据