2

我正在使用 Web 服务与数据库通信,其中我正在对服务器上的记录进行插入、更新、检索和删除。我只使用了两个字段:id、文本。我想问一下,我可以使用 gcm 注册 ID 作为唯一设备 ID 存储在我的数据库的 id 字段中,还是应该使用其他 id 作为 IMEI 号进行 CRUD 操作并完全使用其他 Web 服务来注册 GCM 注册ID。

正如我听说的那样,GCM 注册 ID 往往会刷新和重新生成,有时也会为空,因此将其存储为数据库中记录的唯一 ID 可能不是一个好主意。

4

3 回答 3

3

GCM 注册 ID 不适合作为数据库中的主键,原因如下:

  1. 它很长(通常为 100-200 字节,根据谷歌的说法,它可以大到 4096 字节)。至少在某些数据库中,您将无法在该列上定义索引。

  2. 如果您的服务器为多个应用程序提供服务,则每台设备将有多个注册 ID(每个应用程序一个)。

  3. 如果用户卸载并重新安装该应用程序,则可能会为该应用程序分配一个新的注册 ID。

您应该生成自己的 id 并改用它(UUID、DB 序列或其他)。

于 2013-07-09T12:33:37.553 回答
2

我认为最好使用IMEI数字。

于 2013-07-09T08:44:31.483 回答
0

GCM id 可以更改。所以它更好,不要将它用作唯一 ID。您可以使用 UUID。

http://developer.android.com/reference/java/util/UUID.html

于 2013-07-09T09:23:52.810 回答