IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QInsightConfiguration Class

Configuration class for the Qt Insight Tracker.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QInsightConfiguration Class

  • Header: QInsightConfiguration

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS InsightTracker)

    target_link_libraries(mytarget PRIVATE Qt6::InsightTracker)

  • qmake: QT += insighttracker

  • Inherited By:

  • Instantiated By: qml-qtinsighttracker-insightconfiguration.xml

  • Inherits: QObject

Detailed Description

Use QInsightConfiguration to configure the tracker. The tracker reads initial values from a configuration file (qtinsight.conf), which is searched from following the locations in a decending order:

  1. Application's resources file.

  2. Application's directory.

  3. Current working directory.

  4. System configuration directories as defined by QStandardPaths::GenericConfigLocation.

Use an environment variable QT_INSIGHT_CONFIG to override the used configuration file.

Example of a JSON configuration file:

 
Sélectionnez
{
    "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"
    ]
}

A token is used to match the data your application sends to your Qt Insight Organization and you can find your token from the Qt Insight Console.

Some of the configuration items are directly linked to the Snowblow Tracker Protocol, which defines the allowed values. These include QInsightConfiguration::setPlatform() and QInsightConfiguration::setDeviceScreenType().

QInsightConfiguration::setStorageType() can be used to configure the storage type, where SQLITE is the default value and use SQLite database to store the events before they are sent to the back-end server. If an unknown storage type is specified or it is explicitly set to an empty string, caching will be disabled. In that case the tracked data will be lost if the back-end server isn't available.

Two additional storage types are supported: SQLITE-ZLIB and SQLITE-ZSTD. These provide sqlite storage but compress the event data to save disk space. Both zlib and zstd algorithms are used with a dictionary-based compression where the dictionary is created from the first collected events. In general, zstd offers faster compression with higher compression ratio, but requires more memory to train the dictionary.

QInsightConfiguration::setStoragePath() can be used to configure the location of the storage. By default, the SQLite database is created in the application's directory.

QInsightConfiguration::setStorageSize() can be used to limit the number of events that can be cached. When using SQLITE storage type, the oldest events are removed if storage size is exceeded. The default size (0) sets no limits to the storage size.

QInsightConfiguration::setSyncInterval() can be used to configure how often the tracked events are sent to the back-end server. The API takes the value in seconds, while the json configuration file can be configured also with minutes, hours, days, and months. If sync interval is not set, events will never be sent to the backend and cached only in the local storage.

QInsightConfiguration::setBatchSize() is used to minimize the overhead when sending, reading and writing to the storage. When synchronizing the cached data to back-end server, at most QInsightConfiguration::batchSize() items will be fetched at once from the storage and sent to back-end server. This is more optimal, than fetching the data one by one. The sent data will be removed from the storage also in batches. The process repeats, until all data is sent. If one batch fails, the synchronization will stop, as the next batches will likely also fail.

QInsightConfiguration::setRemoteConfig and QInsightConfiguration::setRemoteConfigInterval() can be used to enable the use of remote configurations and configure how often the remote configurations are synced from the back-end server. The API takes the value in seconds, while the json configuration file can be configured also with minutes, hours, days, and months. If QInsightConfiguration::setRemoteConfigInterval() is not set, the interval from QInsightConfiguration::SyncInterval() is used.

QInsightConfiguration::setCategories() allows filtering of tracked events based on the category used in the API calls for QInsightTracker::interaction() and QInsightTracker::transition() events or the attached property InsightCategory::category for the automatic QEvent::type events.

QInsightConfiguration::setEvents() can be used to enable tracking of automatic events from Qt's event system. All valid event types in QEvent::Type can be used.

Member Function Documentation

 

[pure virtual] QString QInsightConfiguration::appBuild() const

Returns current application's build version.

Getter function for property appBuild.

See Also

See also setAppBuild()

[pure virtual] int QInsightConfiguration::batchSize() const

Returns current sync batch size.

Getter function for property batchSize.

See Also

See also setBatchSize()

[pure virtual] QStringList QInsightConfiguration::categories()

Returns currently enabled categories.

Getter function for property categories.

See Also

See also setCategories()

[pure virtual] QString QInsightConfiguration::deviceModel() const

Returns current device model.

Getter function for property deviceModel.

See Also

See also setDeviceModel()

[pure virtual] QString QInsightConfiguration::deviceScreenType() const

Returns current screen type.

Getter function for property deviceScreenType.

See Also

See also setDeviceScreenType()

[pure virtual] QString QInsightConfiguration::deviceVariant() const

Returns current device variant.

Getter function for property deviceVariant.

See Also

See also setDeviceVariant()

[pure virtual] QStringList QInsightConfiguration::events()

Returns currently tracked events types.

Getter function for property event.

See Also

See also setEvents()

[pure virtual] bool QInsightConfiguration::isValid()

Returns true if configuration is valid.

Getter function for property valid.

[pure virtual] QString QInsightConfiguration::platform() const

Returns current platform.

Getter function for property platform.

See Also

See also setPlatform()

[pure virtual] bool QInsightConfiguration::remoteConfig() const

Returns true if remote configuration sync is enabled.

Getter function for property remoteConfig.

See Also

See also setRemoteConfig()

[pure virtual] int QInsightConfiguration::remoteConfigInterval() const

Returns current remote configuration sync interval in seconds.

Getter function for property remoteConfigInterval.

See Also

[pure virtual] QString QInsightConfiguration::server() const

Returns current back-end server address.

Getter function for property server.

See Also

See also setServer()

[pure virtual] void QInsightConfiguration::setAppBuild(const QString &appBuild)

Set application's build version appBuild.

Setter function for property appBuild.

See Also

See also appBuild()

[pure virtual] void QInsightConfiguration::setBatchSize(int batchSize)

Set sync batch size to batchSize. Defines how many events are sent to network in one go.

Setter function for property batchSize.

See Also

See also batchSize()

[pure virtual] void QInsightConfiguration::setCategories(const QStringList &categories)

Set list of enabled categories to categories.

Setter function for property categories.

See Also

See also categories()

[pure virtual] void QInsightConfiguration::setDeviceModel(const QString &deviceModel)

Set device model to deviceModel.

Setter function for property deviceModel.

See Also

See also deviceModel()

[pure virtual] void QInsightConfiguration::setDeviceScreenType(const QString &deviceScreenType)

Set device screen type to deviceScreenType.

Setter function for property deviceScreenType.

See Also

See also deviceScreenType()

[pure virtual] void QInsightConfiguration::setDeviceVariant(const QString &deviceVariant)

Set device variant to deviceVariant.

Setter function for property deviceVariant.

See Also

See also deviceVariant()

[pure virtual] void QInsightConfiguration::setEvents(const QStringList &events)

Set list of tracked event types to events. All valid event types in QEvent::Type can be used.

Setter function for property event.

See Also

See also events()

[pure virtual] void QInsightConfiguration::setPlatform(const QString &platform)

Set platform to platform

Setter function for property platform.

See Also

See also platform()

[pure virtual] void QInsightConfiguration::setRemoteConfig(bool enabled)

Set remote configuration sync state to enabled.

Setter function for property remoteConfig.

See Also

See also remoteConfig()

[pure virtual] void QInsightConfiguration::setRemoteConfigInterval(int syncInterval)

Set remote configuration sync interval to syncInterval seconds.

Setter function for property remoteConfigInterval.

See Also

[pure virtual] void QInsightConfiguration::setServer(const QString &server)

Set server address to server.

Setter function for property server.

See Also

See also server()

[pure virtual] void QInsightConfiguration::setStoragePath(const QString &storagePath)

Set storage path to storagePath.

Setter function for property storagePath.

See Also

See also storagePath()

[pure virtual] void QInsightConfiguration::setStorageSize(int storageSize)

Set storage size to storageSize.

Setter function for property storageSize.

See Also

See also storageSize()

[pure virtual] void QInsightConfiguration::setStorageType(const QString &storageType)

Set storage type to storageType.

Setter function for property storageType.

See Also

See also storageType()

[pure virtual] void QInsightConfiguration::setSyncInterval(int syncInterval)

Set sync interval to syncInterval seconds.

Setter function for property syncInterval.

See Also

See also syncInterval()

[pure virtual] void QInsightConfiguration::setToken(const QString &token)

Set server token to token.

Setter function for property token.

See Also

See also token()

[pure virtual] void QInsightConfiguration::setUserId(const QString &userId)

Set user identifier to userId. If userId is empty, a generated random UUID will be used.

Setter function for property userId.

See Also

See also userId()

[pure virtual] QString QInsightConfiguration::storagePath() const

Returns current storage path.

Getter function for property storagePath.

See Also

See also setStoragePath()

[pure virtual] int QInsightConfiguration::storageSize() const

Returns current storage size.

Getter function for property storageSize.

See Also

See also setStorageSize()

[pure virtual] QString QInsightConfiguration::storageType() const

Returns current storage type.

Getter function for property storageType.

See Also

See also setStorageType()

[pure virtual] int QInsightConfiguration::syncInterval() const

Returns current sync interval in seconds.

Getter function for property syncInterval.

See Also

See also setSyncInterval()

[pure virtual] QString QInsightConfiguration::token() const

Returns current server token.

Getter function for property token.

See Also

See also setToken()

[pure virtual] QString QInsightConfiguration::userId()

Returns current user identifier used in the tracked events.

Getter function for property userId.

See Also

See also setUserId()

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+