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. 在芬兰和其他国家/地区的商标。所有其他商标均为其所有者的财产。