IBM Cloud Docs
在 Web 聊天中管理用户身份信息

在 Web 聊天中管理用户身份信息

watsonx Assistant 的费用基于每月唯一活动用户数 (MAU)。

如果您在会话开始时没有为用户提供标识符,网络聊天会为您创建一个标识符。 它会使用生成的匿名标识来创建第一方 cookie。 该 cookie 会保持 45 天有效。 如果同一用户在当月晚些时候返回到您的站点,并再次与助手聊天,那么 Web 聊天集成会识别到该用户。 同一匿名用户在一个月内多次与助手进行交互时,只会向您收取一次费用。

如果要执行需要知道提交输入的用户的任务,则必须将用户 ID 传递给网络聊天集成。 选择人类无法识别的标识。 例如,不要使用个人的电子邮件地址作为用户 ID。

此外,要删除请求被遗忘者创建的任何数据,需要 customer_id 与用户输入相关联。 定义了 user_id 时,该产品可以将其复用于传递 customer_id 参数。 (有关删除用户数据的更多信息,请参阅 标记和删除数据。)

由于提交的 user_id 值会包含在添加到每个消息请求中 customer_id 头的 X-Watson-Metadata 值中,因此 user_id 语法必须满足 RFC 7230 中定义的头字段需求。

为支持这些基于用户的功能,请在将代码段粘贴到网页之前,在代码段中添加 updateUserID() 方法

如果启用了安全功能,则在 JSON 网络令牌中设置用户 ID。 有关更多信息,请参阅 在 Web 聊天中认证用户

在以下示例中,向脚本添加了用户标识 L12345

<script>
  window.watsonAssistantChatOptions = {
      integrationID: 'YOUR_INTEGRATION_ID',
      region: 'YOUR_REGION',
      serviceInstanceID: 'YOUR_SERVICE_INSTANCE',
      onLoad: function(instance) {
        instance.updateUserID('L12345');
        instance.render();
        }
    };
  setTimeout(function(){
    const t=document.createElement('script');
    t.src='https://web-chat.global.assistant.dev.watson.appdomain.cloud/versions/' +
      (window.watsonAssistantChatOptions.clientVersion || 'latest') +
      '/WatsonAssistantChatEntry.js';
    document.head.appendChild(t);
  });
</script>

Apple 设备

在 Apple 设备上,Intelligent Tracking Prevention 功能会在 7 天后自动删除任何客户端 cookie。 这意味着如果匿名客户访问您的网站,并在两周后再次访问,那么这两次访问将被视为两个不同的 MAU。

要避免此问题,请在 Web 应用程序中使用服务器端第一方 cookie。 例如,当匿名用户首次访问您的 Web 站点时,您可以生成唯一的用户标识,并将其存储在具有您选择的任何到期日期的服务器端 cookie 中。 然后,您的代码可以使用 updateUserID() 实例方法来设置用户标识。 然后,您可以使用相同的 cookie 在将来的任何访问中为此客户设置相同的用户标识,直到其到期为止。

更多信息

有关计费的更多信息,请参阅 基于用户的套餐说明

有关每个套餐的 MAU 限制的更多信息,请参阅 定价

有关删除用户数据的更多信息,请参阅 标记和删除数据