发布/订阅保证messageId始终是唯一编号。因此,我将此ID用作deviceId,并将此值保存在bigquery表上。 Google文档说这个值字符串。但是,根据我的实验,messageId返回了15位数字。我应该将此值保留为bigquery上的数字吗?它会引起任何麻烦吗?
答案 0 :(得分:3)
问题在于Integer(10)的最大长度,而不是它仅包含数值的事实。 这就是为什么应将值保留为String而不是文档中定义的Integer的原因
答案 1 :(得分:1)
发布/订阅保证messageId对于每个主题总是唯一-而不是它是 number (ref)
文档中所述的数据类型是字符串,因此它可以包含任何Unicode字符。
所以,正如其他人所说,尽管它是一个15位数字,现在, 将来,Google会生成一个非数字字符串,或者大于您的低级代码可以存储的数字,那么您的应用将失败。
答案 2 :(得分:1)
Google支持小组说: “ MessageId包含的最大位数为19。只要以前未使用过ID(因为它们是唯一的),则最多可以有19位数字,但实际上,可能无法达到位数。” < / p>