我在客户端上集成了GCM,也使其成为服务器端组件 . 每件事情都很好,我能够从服务器向所有注册客户端发送推送通知 . 我使用谷歌App引擎作为我的服务器 .
出现问题:
-
我更改了服务器上的API密钥 .
-
之前我使用我的个人GMail帐户获取API密钥,所有其他访问都是通过我的帐户进行的 . 在推送应用程序之前,我将服务器移动到 生产环境 帐户,并根据 生产环境 ID更改了ID . 我是指API密钥,项目ID, 生产环境 密钥库等 . 现在问题是我想在服务器上发送推送通知我得到URL异常"HTTP Error 401: Unauthorized"
我尝试过: - 删除我的旧ID . - 删除旧的公共API访问密钥 .
如果我尝试从旧服务器发送推送通知,相同的代码工作正常 .
它是否与某些事情有关:项目包名称和API密钥...只能使用一次注册....如果是,如何删除它而不更改客户端项目包名称 .
请帮助我们不能使用Old Server .
4 回答
由于这是一个从未得到解答但仍能获得视图的旧问题,我将在此处发布此问题可能已经过时,因为 Cloud 控制台从那时起经历了几次迭代 .
此外,Google Cloud Messaging已被Firebase Cloud 消息传递所取代 . 新项目应使用FCM,鼓励现有项目进行升级,以便从新功能中受益 .
Firebase Cloud Messaging
https://firebase.google.com/docs/cloud-messaging/
检查新服务器中的端口5228-5230(GCM端口)是否已打开 . 这可能是问题所在 .
问题可能是因为您正在为新服务器使用旧的服务器api密钥 . 要从服务器端发送推送通知,您需要在服务器的公共IP地址的帮助下生成api密钥 .
如果是测试目的,请确保Google控制台上的服务器API密钥在白名单中具有相关的IP地址:0.0.0.0/0 :: / 0
这些是针对ipv4和ipv6 ips的