是否需要将推送密钥写入Firebase数据库,以便将来保持唯一,或者在计算的客户端和if;例如,它还没有写入数据库而另一个客户端(客户端B)生成的密钥可能与客户端A的密钥相同?
我希望我清楚我要问的是什么。
答案 0 :(得分:2)
它很可能是一个GUID,意味着一个全局唯一编号,永远不会再生成。 (一经发布)。
看看这里:link
答案 1 :(得分:0)
试图更好地推理它;根据我的准备和理解,它似乎不是一个全局机制,以确保它们是唯一的,除了它被计算两次的机会是无穷小的事实(see here)加上部分每个ID都是根据服务器timeStamp计算的。所以基本上,如果有两个用户在完全相同的服务器时间创建pushID(无限极低的机会),仍然有机会,但它实际上非常接近0,使pushID相同,因为pushID的第二部分也是由一个机制来实现的确保在1/2 ^ 120的情况下发生一些事情。
将两个部分组合在一起,您几乎有0次重新出现的可能性。但是,对于像我这样偏执的人来说,数学上不是0; P
如果我错了,请随意纠正我。