我是根据 GCM documentation 学习的如果由于应用程序在设备上卸载或其他原因导致设备不再注册而导致发送消息失败,它将返回错误值“NotRegistered”。
我的问题是,响应是否还会包含任何可识别设备的数据,例如现在无效的注册 ID?我意识到我需要从数据库中删除该设备,以便它无法发送更多消息,但我不确定如何在服务器端的数据库中识别该设备。对此有任何建议,我们将不胜感激。
最佳答案
您应该能够根据您发送给 GCM 的请求找到要删除的注册 ID。
如果您发送包含单个注册 ID 的 URL 编码请求并收到该错误,则您知道您必须删除该注册 ID。
如果您发送具有多个注册 ID 的 JSON 请求,则响应包含您发送的每个注册 ID 的消息 ID 或错误消息。例如,如果响应中的第 5 个元素包含 NotRegistered
错误,则与此错误匹配的注册 ID 是您的 JSON 请求中的第 5 个注册 ID。
关于android - GCM 服务器处理 NotRegistered 错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331781/