2013-07-09 35 views
2

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

当我听说GCM注册ID往往刷新和重新生成以及有时来自空,所以它可能不是一个好主意,它存储在数据库中的记录作为唯一的ID。

+0

感谢大家的宝贵意见.. – Sydroid

回答

3

GCM注册ID是不适合的数据库有几个原因主键一个很好的候选人:

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

  2. 如果您的服务器服务于多个appications,每个设备将有多个注册ID(每个应用程序)。

  3. 如果用户卸载和重新安装应用程序,一个新的注册ID可以被分配用于该应用。

您应该生成自己的ID并使用它(UUID,DB序列或其他)。

2

我觉得最好用IMEI这个号码。