QInsightConfiguration 类
Qt Insight Tracker 的配置类。 更多...
| 头文件 | #include <QInsightConfiguration> |
| CMake | find_package(Qt6 REQUIRED COMPONENTS InsightTracker) target_link_libraries(mytarget PRIVATE Qt6::InsightTracker) |
| qmake | QT += insighttracker |
| 由实例化 | InsightConfiguration |
| 继承 | QObject |
公共函数
| virtual QString | appBuild() const = 0 |
| virtual int | batchSize() const = 0 |
| virtual QStringList | categories() = 0 |
| virtual QString | deviceModel() const = 0 |
| virtual QString | deviceScreenType() const = 0 |
| virtual QString | deviceVariant() const = 0 |
| virtual QStringList | events() = 0 |
| virtual bool | isValid() = 0 |
| virtual QString | platform() const = 0 |
| virtual bool | remoteConfig() const = 0 |
| virtual int | remoteConfigInterval() const = 0 |
| virtual QString | server() const = 0 |
| virtual void | setAppBuild(const QString &appBuild) = 0 |
| virtual void | setBatchSize(int batchSize) = 0 |
| virtual void | setCategories(const QStringList &categories) = 0 |
| virtual void | setDeviceModel(const QString &deviceModel) = 0 |
| virtual void | setDeviceScreenType(const QString &deviceScreenType) = 0 |
| virtual void | setDeviceVariant(const QString &deviceVariant) = 0 |
| virtual void | setEvents(const QStringList &events) = 0 |
| virtual void | setPlatform(const QString &platform) = 0 |
| virtual void | setRemoteConfig(bool enabled) = 0 |
| virtual void | setRemoteConfigInterval(int syncInterval) = 0 |
| virtual void | setServer(const QString &server) = 0 |
| virtual void | setStoragePath(const QString &storagePath) = 0 |
| virtual void | setStorageSize(int storageSize) = 0 |
| virtual void | setStorageType(const QString &storageType) = 0 |
| virtual void | setSyncInterval(int syncInterval) = 0 |
| virtual void | setToken(const QString &token) = 0 |
| virtual void | setUserId(const QString &userId) = 0 |
| virtual QString | storagePath() const = 0 |
| virtual int | storageSize() const = 0 |
| virtual QString | storageType() const = 0 |
| virtual int | syncInterval() const = 0 |
| virtual QString | token() const = 0 |
| virtual QString | userId() = 0 |
信号
| void | appBuildChanged(const QString &appBuild) |
| void | batchSizeChanged(int batchSize) |
| void | categoriesChanged(const QStringList &categories) |
| void | deviceModelChanged(const QString &deviceModel) |
| void | deviceScreenTypeChanged(const QString &deviceScreenType) |
| void | deviceVariantChanged(const QString &deviceVariant) |
| void | eventsChanged(const QStringList &events) |
| void | platformChanged(const QString &platform) |
| void | remoteConfigChanged(bool enabled) |
| void | remoteConfigIntervalChanged(int syncInterval) |
| void | serverChanged(const QString &server) |
| void | storagePathChanged(const QString &storagePath) |
| void | storageSizeChanged(int storageSize) |
| void | storageTypeChanged(const QString &storageType) |
| void | syncIntervalChanged(int syncInterval) |
| void | tokenChanged(const QString &token) |
| void | userIdChanged(const QString &userId) |
详细描述
使用QInsightConfiguration配置追踪器。追踪器从配置文件(qtinsight.conf)读取初始值,配置文件按照以下顺序搜索
- 应用程序的资源文件。
- 应用程序的目录。
- 当前工作目录。
- QStandardPaths::GenericConfigLocation定义的系统配置目录。
使用环境变量QT_INSIGHT_CONFIG来覆盖使用的配置文件。
JSON配置文件示例
{
"server" : "collect-insight.qt.io",
"token" : "00000000-0000-0000-0000-000000000000",
"device_model" : "model 1",
"device_variant" : "a",
"device_screen_type" : "NON_TOUCH",
"platform" : "app",
"app_build" : "1.2.3",
"storage" : "SQLITE",
"storage_path" : "",
"storage_size" : 0,
"sync" : {
"interval" : {
"seconds" : 0
"minutes" : 0
"hours" : 1
"days" : 0
"months" : 0
},
"max_batch_size" : 100
},
"config_sync" : {
"enabled" : true
"interval" : {
"seconds" : 0
"minutes" : 0
"hours" : 0
"days" : 1
"months" : 0
},
},
"categories" : [
"debug"
],
"events" : [
"KeyPress",
"KeyRelease",
"MouseButtonPress",
"MouseButtonRelease",
"Quit",
"Resize"
]
}token用于匹配您应用程序发送到您的Qt Insight组织的数据,您可以从Qt Insight控制台找到您的token。
一些配置项目直接与Snowplow Tracker Protocol相关联,该协议定义了允许的值。这些包括QInsightConfiguration::setPlatform()和QInsightConfiguration::setDeviceScreenType()。
QInsightConfiguration::setStorageType()可用于配置存储类型,其中默认值为SQLITE,并使用SQLite数据库存储在发送到后端服务器之前的事件。如果您指定了未知存储类型,或者显式将其设置为空字符串,则将禁用缓存。在这种情况下,如果后端服务器不可用,追踪的数据将会丢失。
支持两种其他存储类型:SQLITE-ZLIB和SQLITE-ZSTD。这些提供sqlite存储,并将事件数据压缩以节省磁盘空间。zlib和zstd算法都使用基于字典的压缩,其中字典是从首次收集的事件中创建的。通常,zstd提供了更快压缩速度和高压缩比,但需要更多的内存来训练字典。
QInsightConfiguration::setStoragePath()可用于配置存储位置。默认情况下,SQLite数据库将在应用程序目录中创建。
QInsightConfiguration::setStorageSize() 可以用来限制能够缓存的最多事件数。当使用 SQLITE 存储类型时,如果超过了存储大小限制,则最老的事件将被移除。默认大小 (0) 不会对存储大小设置任何限制。
QInsightConfiguration::setSyncInterval() 可以用来配置跟踪事件发送到后端服务器的频率。API 使用秒数作为值,而json配置文件也可以使用分钟、小时、天和月进行配置。如果没有设置同步间隔,事件将永远不会发送到后端,只会缓存在本地存储中。
QInsightConfiguration::setBatchSize() 用于最小化发送、读取和写入存储时产生的开销。当同步缓存数据到后端服务器时,最多将会有 QInsightConfiguration::batchSize
QInsightConfiguration::setRemoteConfig 和 QInsightConfiguration::setRemoteConfigInterval() 可以用来启用远程配置的使用,并且配置从后端服务器同步远程配置的频率。API 使用秒数作为值,而json配置文件也可以使用分钟、小时、天和月进行配置。如果 QInsightConfiguration::setRemoteConfigInterval() 未设置,则使用 QInsightConfiguration::SyncInterval() 之间的间隔。
QInsightConfiguration::setCategories() 允许基于在 API 调用 QInsightTracker::interaction() 和 QInsightTracker::transition() 事件或自动 QEvent::type 事件附加的属性 InsightCategory::category 中使用的类别过滤跟踪事件。
QInsightConfiguration::setEvents() 可以用来启用跟踪 Qt 的 事件系统 中的自动事件。可以使用 QEvent::Type 中的所有有效事件类型。
成员函数文档
[纯虚函数] QString QInsightConfiguration::appBuild() const
返回当前应用程序的构建版本。
注意:appBuild 属性的获取函数。
另请参阅:setAppBuild()。
[纯虚函数] int QInsightConfiguration::batchSize() const
返回当前的同步批次大小。
注意:batchSize 属性的获取函数。
另请参阅:setBatchSize()。
[纯虚函数] QStringList QInsightConfiguration::categories()
返回当前启用的类别。
注意:categories 属性的获取函数。
另请参阅:setCategories()。
[纯虚函数] QString QInsightConfiguration::deviceModel() const
返回当前设备型号。
注意:deviceModel 属性的获取函数。
另见 setDeviceModel()。
[纯虚函数] QString QInsightConfiguration::deviceScreenType() const
返回当前屏幕类型。
注意:deviceScreenType 属性的获取函数。
另见 setDeviceScreenType。
[纯虚函数] QString QInsightConfiguration::deviceVariant() const
返回当前设备版本。
注意:deviceVariant 属性的获取函数。
另见 setDeviceVariant。
[纯虚函数] QStringList QInsightConfiguration::events()
返回当前追踪的事件类型。
注意:event 属性的获取函数。
另见 setEvents。
[纯虚函数] bool QInsightConfiguration::isValid()
如果配置有效,返回 true。
注意:valid 属性的获取函数。
[纯虚函数] QString QInsightConfiguration::platform() const
返回当前平台。
注意:platform 属性的获取函数。
另见 setPlatform。
[纯虚函数] bool QInsightConfiguration::remoteConfig() const
如果启用了远程配置同步,返回 true。
注意:remoteConfig 属性的获取函数。
另见 setRemoteConfig。
[纯虚函数] int QInsightConfiguration::remoteConfigInterval() const
返回当前远程配置同步间隔(秒)。
注意:remoteConfigInterval 属性的获取函数。
另见 setRemoteConfigInterval。
[纯虚函数] QString QInsightConfiguration::server() const
返回当前后端服务器地址。
注意:server 属性的获取函数。
另见 setServer。
[纯虚函数] void QInsightConfiguration::setAppBuild(const QString &appBuild)
设置应用的构建版本 appBuild。
注意:appBuild 属性的设置函数。
另见 appBuild。
[纯虚函数] void QInsightConfiguration::setBatchSize(int batchSize)
将同步批大小设置为 batchSize。定义了一次向网络发送多少事件。
注意:batchSize 属性的设置函数。
另见 batchSize。
[纯虚函数] void QInsightConfiguration::setCategories(const QStringList &categoriesizador de.parallel_outComeName)
设置启用类别列表为 categories.
注意:属性 categories 的设置函数。
另请参阅:categories().
[纯虚函数] void QInsightConfiguration::setDeviceModel(const QString &deviceModel)
设置设备模型为 deviceModel.
注意:属性 deviceModel 的设置函数。
另请参阅:deviceModel().
[纯虚函数] void QInsightConfiguration::setDeviceScreenType(const QString &deviceScreenType)
设置设备屏幕类型为 deviceScreenType.
注意:属性 deviceScreenType 的设置函数。
另请参阅:deviceScreenType().
[纯虚函数] void QInsightConfiguration::setDeviceVariant(const QString &deviceVariant)
设置设备变体为 deviceVariant.
注意:属性 deviceVariant 的设置函数。
另请参阅:deviceVariant().
[纯虚函数] void QInsightConfiguration::setEvents(const QStringList &events)
设置跟踪的事件类型列表为 events。所有有效的QEvent::Type事件类型均可使用。
注意:属性 event 的设置函数。
另请参阅:events().
[纯虚函数] void QInsightConfiguration::setPlatform(const QString &platform)
将平台设置为 platform
注意:属性 platform 的设置函数。
另请参阅:platform().
[纯虚函数] void QInsightConfiguration::setRemoteConfig(bool enabled)
设置远程配置同步状态为 enabled.
注意:属性 remoteConfig 的设置函数。
另请参阅:remoteConfig().
[纯虚函数] void QInsightConfiguration::setRemoteConfigInterval(int syncInterval)
设置远程配置同步间隔为 syncInterval 秒。
注意:属性 remoteConfigInterval 的设置函数。
另请参阅:remoteConfigInterval().
[纯虚函数] void QInsightConfiguration::setServer(const QString &server)
将服务器地址设置为 server。
注意:属性 server 的设置函数。
另请参阅:server。
[纯虚函数] void QInsightConfiguration::setStoragePath(const QString &storagePath)
将存储路径设置为 storagePath。
注意:属性 storagePath 的设置函数。
另请参阅:storagePath。
[纯虚函数] void QInsightConfiguration::setStorageSize(int storageSize)
将存储大小设置为 storageSize。
注意:属性 storageSize 的设置函数。
另请参阅:storageSize。
[纯虚函数] void QInsightConfiguration::setStorageType(const QString &storageType)
将存储类型设置为 storageType。
注意:属性 storageType 的设置函数。
另请参阅:storageType。
[纯虚函数] void QInsightConfiguration::setSyncInterval(int syncInterval)
将同步间隔设置为 syncInterval 秒。
注意:属性 syncInterval 的设置函数。
另请参阅:syncInterval。
[纯虚函数] void QInsightConfiguration::setToken(const QString &token)
将服务器令牌设置为 token。
注意:属性 token 的设置函数。
另请参阅:token。
[纯虚函数] void QInsightConfiguration::setUserId(const QString &userId)
将用户标识设置为 userId。如果 userId 为空,则使用生成的随机 UUID。
注意:属性 userId 的设置函数。
另请参阅:userId。
[纯虚函数] QString QInsightConfiguration::storagePath() const
返回当前存储路径。
注意:属性 storagePath 的获取函数。
另请参阅:setStoragePath。
[纯虚函数] int QInsightConfiguration::storageSize() const
返回当前存储大小。
注意:属性 storageSize 的获取器函数。
另请参阅setStorageSize()。
[纯虚函数] QString QInsightConfiguration::storageType() const
返回当前存储类型。
注意:属性 storageType 的获取器函数。
另请参阅setStorageType()。
[纯虚函数] int QInsightConfiguration::syncInterval() const
返回当前以秒为单位的同步间隔。
注意:属性 syncInterval 的获取器函数。
另请参阅setSyncInterval()。
[纯虚函数] QString QInsightConfiguration::token() const
返回当前服务器令牌。
注意:属性 token 的获取器函数。
另请参阅setToken()。
[纯虚函数] QString QInsightConfiguration::userId
返回当前用于追踪事件的用户标识符。
注意:属性 userId 的获取器函数。
另请参阅setUserId()。
© 2024 The Qt Company Ltd. 本文件中的文档贡献归其所有者版权所有。本文件中的文档根据由自由软件基金会出版的 GNU 自由文档许可证版本 1.3 的条款提供许可。Qt 和相关徽标是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为其所有者的财产。