数据消息器
通过 Data Messenger 将 AutoQL 的强大功能带给您的用户,Data Messenger 是一种先进的对话用户界面,您可以轻松地将它集成到现有的应用程序中。
本页内容:关于 Data Messenger 设置 Data Messenger 属性 示例
关于 Data Messenger Data Messenger 是一个对话用户界面 (CUI)。它是一个灵活的前端小部件,可以在现有的应用程序或软件界面中实现和访问。Data Messenger 通过允许用户输入自然语言查询从其数据库中获取信息,使用户能够以对话方式与其数据进行交互(或者简单地说是允许用户用他们自己的话提问以获得相关数据的响应)。
在整个文档中,“Data Messenger” 和“小部件”这两个词可以互换使用。所有小部件组件都是开源的,因此 Data Messenger 在功能和设计方面都具有高度的可定制性。
要求
iOS 8 或更高版本。
设置 Data Messenger
本文档的以下部分包含有关如何自定义小部件属性的详细信息。
示例
要运行示例项目,请首先克隆仓库,然后在 Example 目录中运行 pod install
。
安装
- chata 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'chata'
- 通过在控制器中添加 import Chata 来安装
import chata
- 调用 DataMessenger()
let dataChat = DataMessenger(
authentication: authentication(
apiKey: "YourApiKey",
domain: "YourDomain",
token: "YourToken"),
projectID: "YoutProjectID")
- 显示 DataMessenger
dataChat.show(YourView)
属性
属性名 | 数据类型 | 默认值 |
---|---|---|
isVisible | 布尔值 | true |
placement | 整型:TOP_PLACEMENT || BOTTOM_PLACEMENT || LEFT_PLACEMENT || RIGHT_PLACEMENT || NOT_PLACEMENT | RIGHT_PLACEMENT |
title | 字符串 | "Data Messenger" |
userDisplayName | 字符串 | "there" |
introMessage | 字符串 | "Hi %s! Let\'s dive into your data. What can I help you discover today?" |
inputPlaceholder | 字符串 | "Type your queries here" |
maxMessages | 整型 | 0 |
clearOnClose | 布尔值 | false |
enableVoiceRecord | 布尔值 | true |
autoQLConfig | AutoQLConfig | AutoQLConfig() |
dataFormatting | DataFormatting | DataFormatting() |
theme | 字符串: "light" || "dark" | "light" |
lightThemeColor | 字符串 | "#28A8E0" |
darkThemeColor | 字符串 | "#525252" |
aChartColors | ArrayList<E> | ArrayList() |
isVisible
:确定泡泡手柄视图是否在屏幕上可见。
//isChecked is a Boolean
bubbleHandle.isVisible = isChecked
placement
:确定泡泡手柄放置的屏幕边缘。
//placement is a Integer
//Constant -> TOP_PLACEMENT || BOTTOM_PLACEMENT || LEFT_PLACEMENT || RIGHT_PLACEMENT || NOT_PLACEMENT
bubbleHandle.placement = placement
title
:默认 Data Messenger 视图标题栏中显示的文本。如果您不想在这里显示文本,请提供空字符串,否则将应用默认文本(Data Messenger)。
//title is a String
bubbleHandle.title = title
userDisplayName
:用于简介消息中的姓名(例如。 "Hi Carlos!")。您可以使用自来源数据库中的名称自定义此值。
//userDisplayName is a String
bubbleHandle.userDisplayName = userDisplayName
introMessage
:使用您的品牌语和自定义文案自定义默认简介消息。如果提供此信息,将忽略 userDisplayName 属性。
//introMessage is a String
bubbleHandle.introMessage = introMessage
inputPlaceholder
:自定义查询输入(自然语言查询搜索栏)的占位符。
//inputPlaceholder is a String
bubbleHandle.inputPlaceholder = inputPlaceholder
maxMessages
:一次可以在 Data Messenger 接口中显示的最大消息数。任何输入或输出都构成一条消息。这意味着用户输入的查询构成一条消息,在 Data Messenger 接口中返回的响应也构成一条消息。如果添加了新的消息并达到最大值,则最旧的消息将被删除。
//maxMessages is a Int
bubbleHandle.maxMessages = maxMessages
clearOnClose
:确定当小部件关闭时是否清除所有消息。注意:当您关闭小部件后再重新打开时,将显示默认简介消息。
//clearOnClose is a Boolean
bubbleHandle.clearOnClose = clearOnClose
enableVoiceRecord
:启用语音转文本按钮。注意:语音转文本功能使用 SpeechRecognizer,它在用户接受 "Manifest.permission.RECORD_AUDIO" 权限时工作。
//enableVoiceRecord is a Boolean
bubbleHandle.enableVoiceRecord = enableVoiceRecord
theme
: 数据信使的颜色主题。目前有两种选项:浅色主题和深色主题。对于浅色主题,我们将使用 'light';对于深色主题,我们将使用 'dark'。
//theme is a String "light" else "dark"
bubbleHandle.theme = theme
lightThemeColor
: 数据信使中使用的首选强调颜色。这是页眉、语音到文本按钮和界面上显示的消息的颜色(包括用户输入的自然语言查询和对这些查询生成的相关响应)。这不会影响可视化的颜色(例如,表格和图表)。当浅色主题激活时,将使用此颜色。
//lightThemeColor is a String, its format is #FFFFFF
bubbleHandle.setLightThemeColor(lightThemeColor)
darkThemeColor
: 数据信使中使用的首选强调颜色。这是页眉、语音到文本按钮和界面上显示的消息的颜色(包括用户输入的自然语言查询和对这些查询生成的相关响应)。这不会影响可视化的颜色(例如,表格和图表)。当深色主题激活时,将使用此颜色。
//darkThemeColor is a String, its format is #FFFFFF
bubbleHandle.setDarkThemeColor(darkThemeColor)
aChartColors
: 用于图表可视化主题的颜色选项数组,从最基础的开始。您可以在此处传递任何有效的CSS颜色格式,但建议颜色不透明(例如,"#26A7E9")。图表将按顺序从第一个到最后一个应用颜色。如果可视化需要更多的颜色,则将使用提供的所有颜色,并按顺序重复。
changeColor(indexColor: Int, valueColor: String)
: 使用更改颜色方法,您将更新索引颜色和要更新的颜色值。
//indexColor is a Int; valueColor is a valueColor
bubbleHandle.changeColor(indexColor, valueColor)
addChartColor(valueColor: String): Boolean
: 向aChartColors添加一个颜色。颜色格式必须是十六进制。(例如:#FF00FF)。
//valueColor is a String
bubbleHandle.addChartColor(valueColor)
autoQLConfig Prop
键 | 数据类型 | 默认值 |
---|---|---|
enableAutocomplete | 布尔值 | true |
enableQueryValidation | 布尔值 | true |
enableQuerySuggestions | 布尔值 | true |
enableDrilldowns | 布尔值 | true |
enableColumnVisibilityManager | 布尔值 | true |
debug | 布尔值 | true |
enableAutocomplete
: 用户输入查询时,自动填充类似的查询建议,以便他们能够更快、更轻松地获得结果。如果启用,建议查询将随用户键入而出现在查询输入框上方。
//enableAutocomplete is a Boolean
bubbleHandle.autoQLConfig.enableAutocomplete = enableAutocomplete
enableQueryValidation
: 抓取并验证对唯一数据的引用,以确保用户总能获得所需的数据。如果启用,用户输入的自然语言查询将首先通过验证端点。如果查询需要验证(例如,输入包含对唯一数据标签的引用),则在下一条消息中返回该标签的建议,允许用户在执行查询之前验证其输入。
//enableQueryValidation is a Boolean
bubbleHandle.autoQLConfig.enableQueryValidation = enableQueryValidation
例如:如果您查询,“Carlos欠我多少钱?”,验证可能会检测到没有名为“Carlos”的标签,但您的数据库中有名为“Karlo”和“carlo”的标签。然后消息将提示您选择相应的标签并运行相应的查询。
如果此值是假的,则查询将绕过验证端点,直接发送到查询端点。
enableQuerySuggestions
: 启用选项,以便在原始查询缺乏上下文或可以以多种不同方式解释的情况下,用户可以澄清其含义。如果启用,在查询输入模糊不清的情况下,将返回建议查询列表供用户选择,从而实现更加高效和准确的响应。如果是假的,则会显示一般错误消息。
//enableQuerySuggestions is a Boolean
bubbleHandle.autoQLConfig.enableQuerySuggestions = enableQuerySuggestions
enableDrilldowns
:当用户点击表格或图表元素时,将自动运行新的查询,使用户能够“向下钻取”数据以获得条目返回的图形的详细分解。如果此值为false,则在点击表格或图表元素时将不会发生任何事情。
//enableDrilldowns is a Boolean
bubbleHandle.autoQLConfig.enableDrilldowns = enableDrilldowns
enableColumnVisibilityManager
:列可见性管理器允许用户在以表格形式返回查询结果时控制单个列的可见性。用户可以通过在选项工具栏中单击“眼睛”图标并选择或取消选择列来访问列可见性管理器以调整其可见性首选项。设置之后,可见性首选项将保留。任何包含用户之前已显示或隐藏的列的将来查询也将反映这些更改。用户可以随时访问列可见性管理器来更改这些可见性首选项。
//enableColumnVisibilityManager is a Boolean
bubbleHandle.autoQLConfig.enableColumnVisibilityManager = enableColumnVisibilityManager
debug
:如果此值为true,用户可以通过单击“将生成的查询复制到剪贴板”来复制从它们的自然语言查询输入动态生成的完整查询语言(QL)语句(例如SQL语句)。
//debug is a Boolean
bubbleHandle.autoQLConfig.debug = debug
数据格式化属性
键 | 数据类型 | 默认值 |
---|---|---|
currencyCode | 字符串 | "USD" |
languageCode | 字符串 | "en-US" |
currencyDecimals | 整型 | 2 |
quantityDecimals | 整型 | 1 |
monthYearFormat | 字符串 | "MMM YYYY" |
dayMonthYearFormat | 字符串 | "MMM DD, YYYY" |
currencyCode
:如果您的数据不是USD,您可以在此处指定不同的货币代码。所有可视化(表格和图表)都将显示指定代码的默认货币格式。
//currencyCode is a String
bubbleHandle.dataFormatting.currencyCode = currencyCode
languageCode
:如果您的国家的货币代码需要包含在英文字母表中不存在的字母才能正确显示符号。这不支持。
//languageCode is a String
bubbleHandle.dataFormatting.languageCode = languageCode
currencyDecimals
:货币在小数点后显示的数字位数。
//currencyDecimals is a Integer
bubbleHandle.dataFormatting.currencyDecimals = currencyDecimals
quantityDecimals
:数量值在小数点后显示的数字位数。
//quantityDecimals is a Int
bubbleHandle.dataFormatting.quantityDecimals = quantityDecimals
monthYearFormat
:显示整个月份的表示格式的格式。AutoQL使用SimpleDateFormat("format", Locale.US)。您可以在https://developer.android.com.cn/reference/java/text/SimpleDateFormat中查看
//monthYearFormat is a String
bubbleHandle.dataFormatting.monthYearFormat = monthYearFormat
dayMonthYearFormat
:显示单个天表示格式的格式。(例如,2020年3月18日)。AutoQL使用SimpleDateFormat("format", Locale.US)。您可以在https://developer.android.com.cn/reference/java/text/SimpleDateFormat中查看
//dayMonthYearFormat is a String
bubbleHandle.dataFormatting.dayMonthYearFormat = dayMonthYearFormat
作者
Chata, chata.ai
许可
chata在MIT许可下可用。有关更多信息,请参阅LICENSE文件。