我正在使用Web服务与数据库进行通信,其中我正在插入,更新,检索和删除服务器上的记录。只有两个字段,我正在使用:ID,文本。我想问一下,我可以使用gcm注册ID作为唯一的设备ID存储在我的数据库的id字段中,还是应该使用其他ID作为IMEI号码用于CRUD操作,并完全使用其他Web服务来注册GCM注册ID。使用GCM注册ID作为唯一ID作为数据库的CRUD操作?
当我听说GCM注册ID往往刷新和重新生成以及有时来自空,所以它可能不是一个好主意,它存储在数据库中的记录作为唯一的ID。
我正在使用Web服务与数据库进行通信,其中我正在插入,更新,检索和删除服务器上的记录。只有两个字段,我正在使用:ID,文本。我想问一下,我可以使用gcm注册ID作为唯一的设备ID存储在我的数据库的id字段中,还是应该使用其他ID作为IMEI号码用于CRUD操作,并完全使用其他Web服务来注册GCM注册ID。使用GCM注册ID作为唯一ID作为数据库的CRUD操作?
当我听说GCM注册ID往往刷新和重新生成以及有时来自空,所以它可能不是一个好主意,它存储在数据库中的记录作为唯一的ID。
GCM注册ID是不适合的数据库有几个原因主键一个很好的候选人:
它的长(通常为100-200个字节,并根据谷歌它可以大到4096字节)。至少在某些数据库中,您将无法在该列上定义索引。
如果您的服务器服务于多个appications,每个设备将有多个注册ID(每个应用程序)。
如果用户卸载和重新安装应用程序,一个新的注册ID可以被分配用于该应用。
您应该生成自己的ID并使用它(UUID,DB序列或其他)。
我觉得最好用IMEI
这个号码。
GCM ID可以更改。所以它更好,不要把它用作UNIQUE ID。您可以使用UUID。
感谢大家的宝贵意见.. – Sydroid