有什么方法可以区分 Realm 对象服务器客户端?

Any way to differentiate Realm Object Server clients?

我需要标记对象以将它们与各个独特的客户相关联。 Java API 中是否有任何 属性 可以用来唯一标识客户端?

编辑: 经过反思,SyncUser 的 hashCode()toJson() 可以满足相同的需求,前提是我可以保证每个用户只登录一次。

发布 feature request here 后,Realm 的好心人建议我改用 UUID。

This link on identifiers 特别好读。

总之,目前看来最好的答案就是按照Android instance-ID implementation instructions.

获取 IID 的代码最终如下所示:

db.iid = InstanceID.getInstance(this).getId();

值得注意的是,不需要为了获得该功能而包括所有 Google Play 服务。以下依赖关系很好,不会超过 64k DEX 限制。

compile 'com.google.android.gms:play-services-iid:10.0.1'