gpt4 book ai didi

android - 连接到在本地服务器上运行的 GCM 服务器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:47:45 25 4
gpt4 key购买 nike

我正在使用 Google Cloud Messaging (GCM) 处理推送通知。我能够按照 this tutorial 设置服务器端和客户端.

服务器在 Apache Tomcat6.0(本地主机)和 Google API(API 级别 17)上的 Android 模拟器上运行。我有发件人 ID 和 API key 。从模拟器运行时,我收到一条成功的设备连接消息。不久之后,从服务器发送消息时显示以下错误。

com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401()
com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:211)
com.google.android.gcm.server.Sender.send(Sender.java:125)
com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:83)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

从其他帖子中,我了解到错误的 API key 是罪魁祸首。但就我而言,我确保我使用的是来自 API 控制台的正确版本。

顺便说一下,当我运行模拟器时,我看到一条消息“正在向服务器发送 regId”。注册id是多少?它与发件人 ID 不同;看起来像一个编码的。

有什么突破吗?

编辑

问题终于解决了! Ant 没有正确构建 WAR 文件。所以 API key 几乎不会更新。发现这个错误简直是一场噩梦。感谢大家的投入!

最佳答案

我建议您阅读 GCM 指南:

GCM guide for Android

发件人 ID 是一个常量,将用于 GCM 和您的服务器之间的通信。当您的手机注册到他的服务时,regsitratiomID (regID) 由 GCM 服务管理。

更好的定义: http://developer.android.com/google/gcm/gcm.html

发件人 ID:

A project number you acquire from the API console, as described in Getting Started. The sender ID is used in the registration process to identify an Android application that is permitted to send messages to the device.

注册号:

An ID issued by the GCM servers to the Android application that allows it to receive messages. Once the Android application has the registration ID, it sends it to the 3rd-party application server, which uses it to identify each device that has registered to receive messages for a given Android application. In other words, a registration ID is tied to a particular Android application running on a particular device.

关于android - 连接到在本地服务器上运行的 GCM 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com