本地化和语言区域

用户会在各地以多种语言沟通。与非响应式代理相比,能够适应用户的沟通偏好并为其提供本地化体验的代理可覆盖更多用户、打造更有吸引力的用户体验并促成更多反复互动。借助 Business Messages,代理和营业地点能够通过以下方式适应用户的偏好:将用户语言区域设置传给代理,让代理能够指定默认语言区域并为每个语言区域指定唯一的对话设置,并且解析用户语言区域与代理或营业地点支持的语言区域之间的匹配项。

通过检测语言区域,Business Messages 代理可以确保自动化互动和人工客服互动了解用户的区域和语言偏好,从而为用户提供本地化体验。

用户语言区域

用户发起与代理的对话后,每当用户发送信息时,Business Messages 都会检测用户设备的语言区域设置。代理收到的每条信息都包含 context.userInfo.userDeviceLocale 字段中的用户语言区域。

Business Messages 使用用户设备的语言区域来更改界面中的语言,以及更改平台生成的字符串的语言。

如果用户更改设备的语言,或者在具有不同语言区域设置的设备之间切换,userDeviceLocale 可能会在对话中更改。如果代理读取 userDeviceLocale,则应检查该值是否已随每条新信息更改,并在发生变化时进行相应调整。例如,代理可能会检测到语言区域的变化,并询问用户是希望继续使用当前语言进行沟通,还是切换为与新语言区域匹配的语言。

userDeviceLocale 由用户的设备指定,可以是任何 IETF BCP 47 语言标记。

代理和营业地点语言区域

代理和营业地点可以针对其支持的任意语言区域指定对话设置。例如,代理可能会为“en”语言区域指定英语欢迎辞,并为“es”语言区域指定相应的西班牙语欢迎辞;或者一个营业地点可能会为“fr”语言区域指定设置,而另一个营业地点则不指定。

如果代理或营业地点为某个语言区域设定了对话设置,Business Messages 会假定该代理或营业地点支持该语言区域。代理和营业地点可以设置它们沟通时经常使用的默认语言区域 (defaultLocale)。

如需更新代理或营业地点的默认语言区域,请参阅更新默认语言区域。如需为语言区域设定对话设置,请参阅发起对话

经过解析的语言区域

通过识别用户设备的语言区域,并将该语言区域与为代理或营业地点(用户向其发送信息的代理或营业地点)指定的语言区域进行比较,Business Messages 可以解析用户语言区域与代理语言区域之间的匹配项。Business Messages 解析匹配项时,代理或营业地点的 defaultLocale 的优先级高于其他受支持的语言区域。代理收到的每条信息都包含 context.resolvedLocale 字段中的这一匹配项。

Business Messages 使用经过解析的语言区域来选择要显示的对话设置(例如欢迎辞和离线信息)和字符串(例如人工客服请求建议字符串)。最佳实践是让代理使用经过解析的语言区域进行沟通,以确保一致的用户体验。

如果用户更改设备的语言,或者在具有不同语言区域设置的设备之间切换,经过解析的语言区域可能会在对话中更改。代理应检查该值是否已随每条新信息更改,并在发生变化时进行相应调整。例如,代理可能会检测到语言区域的变化,并询问用户是希望继续使用当前语言进行沟通,还是切换为与新语言区域匹配的语言。

更新默认语言区域

如需指定默认语言区域,您可以使用 Business Communications API 发出 PATCH 请求,以更新代理或营业地点的 defaultLocale 字段。

如需为语言区域更新代理或营业地点的对话设置(例如欢迎辞和对话开场白),请参阅发起对话

前提条件

在更新默认语言区域之前,您需要掌握以下信息:

  • 开发机器上的 GCP 项目的服务帐号密钥的路径
  • 对于代理的默认语言区域,代理 name(例如“brands/12345/agents/67890”)

    如果您不知道代理的 name,请参阅列出品牌的所有代理

  • 对于营业地点的默认语言区域,营业地点 name(例如“brands/12345/locations/67890”)

    如果您不知道营业地点的 name,请参阅列出品牌的所有营业地点

  • 要设置为默认的语言区域,以两个字符的 ISO 639-1 语言代码表示

  • 为代理或营业地点设定的特定于语言区域的对话设置。请参阅发起对话

发送更新请求

如需更新代理或营业地点,请运行以下命令。将变量替换为您在前提条件中确定的值。

代理默认语言区域


# This code sets the default locale of a Business Messages agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/patch

# Replace the __BRAND_ID__, __AGENT_ID__ and __DEFAULT_LOCALE__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__?updateMask=businessMessagesAgent.defaultLocale" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "businessMessagesAgent": {
    "defaultLocale": "__DEFAULT_LOCALE__"
  }
}'

如需了解格式设置和值选项,请参阅 BusinessMessagesAgent

营业地点默认语言区域


# This code updates the default locale of an agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/patch

# Replace the __BRAND_ID__ and __LOCATION_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/locations/__LOCATION_ID__?updateMask=defaultLocale" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "defaultLocale": "en"
}'

如需了解格式设置和值选项,请参阅 brands.locations