如何生成pubnub UUID?

How to generate pubnub UUID?

我正在使用 pubnub 构建聊天应用程序,

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

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

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

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

PubNub UUID 管理最佳实践

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

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

TL;DR

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

为什么 UUID 在 PubNub 中很重要?

同样,UUID Impact section 下的同一文档页面中详细介绍了所有内容,但这里是要点:

  • 出于计费目的 - 它用于计算 MAU(每月活跃用户)
  • 为了 Presence 服务正常工作 - uuid 值用于在用户订阅频道时生成 join 事件以及所有在线状态事件和 APIs。
  • 为了便于故障排除 - 如果您必须联系 PN 支持,如果我们可以挑出一个 UUID,那么在多个订阅和其他 API 呼叫中识别用户会容易得多。

祝你有个实时的一天!!! ;)