QInsightConfiguration 类

Qt Insight Tracker 的配置类。 更多...

头文件 #include <QInsightConfiguration>
CMakefind_package(Qt6 REQUIRED COMPONENTS InsightTracker)
target_link_libraries(mytarget PRIVATE Qt6::InsightTracker)
qmakeQT += insighttracker
由实例化 InsightConfiguration
继承 QObject

公共函数

virtual QStringappBuild() const = 0
virtual intbatchSize() const = 0
virtual QStringListcategories() = 0
virtual QStringdeviceModel() const = 0
virtual QStringdeviceScreenType() const = 0
virtual QStringdeviceVariant() const = 0
virtual QStringListevents() = 0
virtual boolisValid() = 0
virtual QStringplatform() const = 0
virtual boolremoteConfig() const = 0
virtual intremoteConfigInterval() const = 0
virtual QStringserver() const = 0
virtual voidsetAppBuild(const QString &appBuild) = 0
virtual voidsetBatchSize(int batchSize) = 0
virtual voidsetCategories(const QStringList &categories) = 0
virtual voidsetDeviceModel(const QString &deviceModel) = 0
virtual voidsetDeviceScreenType(const QString &deviceScreenType) = 0
virtual voidsetDeviceVariant(const QString &deviceVariant) = 0
virtual voidsetEvents(const QStringList &events) = 0
virtual voidsetPlatform(const QString &platform) = 0
virtual voidsetRemoteConfig(bool enabled) = 0
virtual voidsetRemoteConfigInterval(int syncInterval) = 0
virtual voidsetServer(const QString &server) = 0
virtual voidsetStoragePath(const QString &storagePath) = 0
virtual voidsetStorageSize(int storageSize) = 0
virtual voidsetStorageType(const QString &storageType) = 0
virtual voidsetSyncInterval(int syncInterval) = 0
virtual voidsetToken(const QString &token) = 0
virtual voidsetUserId(const QString &userId) = 0
virtual QStringstoragePath() const = 0
virtual intstorageSize() const = 0
virtual QStringstorageType() const = 0
virtual intsyncInterval() const = 0
virtual QStringtoken() const = 0
virtual QStringuserId() = 0

信号

voidappBuildChanged(const QString &appBuild)
voidbatchSizeChanged(int batchSize)
voidcategoriesChanged(const QStringList &categories)
voiddeviceModelChanged(const QString &deviceModel)
voiddeviceScreenTypeChanged(const QString &deviceScreenType)
voiddeviceVariantChanged(const QString &deviceVariant)
voideventsChanged(const QStringList &events)
voidplatformChanged(const QString &platform)
voidremoteConfigChanged(bool enabled)
voidremoteConfigIntervalChanged(int syncInterval)
voidserverChanged(const QString &server)
voidstoragePathChanged(const QString &storagePath)
voidstorageSizeChanged(int storageSize)
voidstorageTypeChanged(const QString &storageType)
voidsyncIntervalChanged(int syncInterval)
voidtokenChanged(const QString &token)
voiduserIdChanged(const QString &userId)

详细描述

使用QInsightConfiguration配置追踪器。追踪器从配置文件(qtinsight.conf)读取初始值,配置文件按照以下顺序搜索

  1. 应用程序的资源文件。
  2. 应用程序的目录。
  3. 当前工作目录。
  4. 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-ZLIBSQLITE-ZSTD。这些提供sqlite存储,并将事件数据压缩以节省磁盘空间。zlib和zstd算法都使用基于字典的压缩,其中字典是从首次收集的事件中创建的。通常,zstd提供了更快压缩速度和高压缩比,但需要更多的内存来训练字典。

QInsightConfiguration::setStoragePath()可用于配置存储位置。默认情况下,SQLite数据库将在应用程序目录中创建。

QInsightConfiguration::setStorageSize() 可以用来限制能够缓存的最多事件数。当使用 SQLITE 存储类型时,如果超过了存储大小限制,则最老的事件将被移除。默认大小 (0) 不会对存储大小设置任何限制。

QInsightConfiguration::setSyncInterval() 可以用来配置跟踪事件发送到后端服务器的频率。API 使用秒数作为值,而json配置文件也可以使用分钟、小时、天和月进行配置。如果没有设置同步间隔,事件将永远不会发送到后端,只会缓存在本地存储中。

QInsightConfiguration::setBatchSize() 用于最小化发送、读取和写入存储时产生的开销。当同步缓存数据到后端服务器时,最多将会有 QInsightConfiguration::batchSize

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