如何生成 pubnub UUID?

Posted

技术标签:

【中文标题】如何生成 pubnub UUID?【英文标题】:How to generate pubnub UUID? 【发布时间】:2021-08-29 05:26:33 【问题描述】:

我用 pubnub 构建聊天应用程序,

我已经设置了后端和前端的所有内容,

但在前端,它需要另一个 UUID 参数。谁能告诉我在哪里可以得到 UUID?如何用pubnub生成它?我需要将 UUID 存储在我的数据库中吗?

const pubnub = new PubNub(
  publishKey: 'myPublishKey',
  subscribeKey: 'mySubscribeKey',
  uuid: 'myUniqueUUID'
);

Pubnub 文档似乎最糟糕,我没有找到任何有关生成 UUID 的信息,谁能告诉我如何解决它?

【问题讨论】:

这很有趣,我们肯定会很好地记录它。它实际上在"First Steps" documentation 中。在Users & Devices section 中更是如此。 【参考方案1】:

PubNub UUID 管理最佳实践

正如首字母缩写词所暗示的那样,UUID 应该是唯一标识用户(或设备、服务器实例等)的东西。 UUID 可以是您认为适合在您的应用程序中完成此任务的任何内容,但您应该遵循一些关于 PubNub 的准则。

这在 PubNub 平台文档中有详细记录,因此我不会在这里重复所有内容。请查看 Connections 部分下的Users & Devices: Identity Management docs,了解完整的故事。

TL;DR

在用户注册为新用户时为用户生成一个 UUID,并将其存储在您系统的用户配置文件记录中(或使用PubNub Objects: UUIDMetadata)。 在用户成功注册/登录后,将以下内容传回给用户(客户端 PubNub 应用程序): 订阅密钥 发布密钥(仅当客户端可以发送消息时才需要) uuid(PN SDK 中有 UUID 生成器 API - 您可以自己制作,但应避免使用任何 PII 作为 UUID)。 auth key(这与PubNub Access Manager有关,与本文无关,但应该在生产应用程序中实现) 使用上面的方法来初始化你的 PubNub 对象 每次创建 PubNub 对象时,每个用户/客户端/设备都应使用相同的 UUID 每个服务器实例都应该有自己的 UUID。这可以只是一个服务器实例名称或标识符

为什么 UUID 在 PubNub 中很重要?

同样,这一切都在UUID Impact section 下的同一文档页面中进行了详细说明,但这里是重点:

出于计费目的 - 它用于计算 MAU(每月活跃用户) 为了让 Presence 服务正常工作 - uuid 值用于在用户订阅频道以及所有 Presence 事件和 API 时生成 join 事件。 为了轻松进行故障排除 - 如果您必须联系 PN 支持,如果我们能够挑选出一个 UUID,则可以更轻松地在多个订阅和其他 API 调用中识别用户。

有一个实时的一天! ;)

【讨论】:

这个答案太好了,谢谢

以上是关于如何生成 pubnub UUID?的主要内容,如果未能解决你的问题,请参考以下文章

无法向 Kafka 集群生成 PubNub 数据流

如何生成uuid oracle

如何验证使用 base64UUID 生成的 UUID

如何在jquery中生成uuid

如何使用spring注解生成UUID

如何生成没有破折号的 uuid