我已经根据GCM documentation了解到,如果由于设备上卸载了应用程序导致设备不再注册而导致邮件失败,或者由于其他原因,它将返回错误" NotRegistered"。
的价值我的问题是,响应是否还包含标识设备的任何数据,例如现在无效的注册ID?我意识到我需要从数据库中删除该设备,以便不能发送更多消息,但我不知道如何在我的服务器端识别数据库中的设备。对此有任何建议将不胜感激。
答案 0 :(得分:3)
您应该能够根据您发送给GCM的请求找到要删除的注册ID。
如果您要发送包含单个注册ID的URL编码请求并获得该错误,则您知道必须删除该注册ID。
如果您要发送带有多个注册ID的JSON请求,则响应包含您发送的每个注册ID的消息ID或错误消息。例如,如果响应中的第5个元素包含NotRegistered
错误,则与此错误匹配的注册ID是JSON请求中的第5个注册ID。