2011-09-28 100 views
1

以下是我正在努力的情况。当用户安装我的应用程序并首次运行它时,我向C2DM注册并获取注册ID。然后我将它发送到我的服务器,通知被发送到应用程序。C2DM registrationId处理 - 最佳实践?

如果用户卸载该应用程序,然后再次安装该应用程序,则会向C2DM进行新的注册,并且会收到一个新的注册ID。

问题是,服务器现在有两个注册ID的同一个应用程序,我得到多个/冗余通知onMessage。 避免这种情况的最佳做法是什么?

回答

0

当我们将registrationId发送到我们的服务器时,我们生成一个标识符,它可以不断重现客户端来识别注册ID给特定用户。如果我们想要这个选项,这也允许我们取消注册用户,作为一个优点,它消除了您的问题。

+0

我在注册服务器后也收到一个生成的ID,但是如何重新生成ID是应用程序被卸载?你在使用设备ID吗?我想避免这种情况,因为设备ID很快就会被弃用,并且通常被认为是不好的做法。 – RickR

+0

另外,Android上所有版本的设备ID都不可靠。 – RickR

+0

我们使用TelephonyManager.getDeviceId()并且没有问题。自从Android发布以来,我们一直这样做。 – HandlerExploit