通过GCM向设备发送消息时的InvalidRegistration

时间:2015-02-03 05:25:28

标签: java android google-app-engine google-cloud-messaging

我正在尝试向设备发送GCM消息,出于某种原因,在服务器上,getErrorCodeName()返回InvalidRegisration。

我基本上是从谷歌实施的示例,并注册了,并将注册ID发送到日志,并批发将其从日志复制到我尝试发送的服务器上的代码。

有什么可能出错的想法吗?

        Result result = sender.send(message,"foo", 1);
        System.out.println("Message sent: "+result.getErrorCodeName());

我已经仔细检查过看到logcat没有截断正在打印的值,但事实并非如此。我记录了注册ID的长度,并将其与我在发送通知时在服务器上使用的字符串/ regid的长度相匹配。

不确定发生了什么。

1 个答案:

答案 0 :(得分:1)

send()方法必须遵循以下格式:

send (Message message, String registrationId, int retries)

查看您的代码片段,您需要修改第二个参数。

如果您出于隐私原因刚刚更换了实际的注册ID,我建议您检查是否完全发送了注册ID。如上所述[{3}},它可能会在从客户端设备传输到服务器时被截断或更改。