Qt Insight Tracker 概述

应用跟踪使用

您可以使用 Qt Insight Tracker 从应用程序代码中跟踪应用使用情况,有两种事件类型:交互和转换。

使用转换事件来跟踪 UI 的当前状态。转换事件可以在应用程序更改 UI 视图或状态时发送,或者在出现其他 UI 流程变化(如对话框和通知弹窗)时发送。

从 QML 代码,这可以通过以下方式实现

    onStateChanged: InsightTracker.transition(applicationFlow.state);

使用交互事件来跟踪用户交互的 UI 部分。交互事件自动包含 UI 的当前状态,这是通过转换事件报告的。单个 UI 元素可以使用 QML 代码发送事件

    MouseArea {
        anchors.fill: parent
        onClicked: {
            root.clicked()
            InsightTracker.interaction(root.text, root.InsightCategory.category);
        }
        onPressed: {
            glow.visible = true
            animation1.start()
            animation2.start()
        }
    }

关于设备(型号、变种、屏幕分辨率和屏幕类型)的一些附加信息以及应用程序(版本、构建和 Qt 版本)在应用程序启动时自动发送。

首次使用 Qt Insight Tracker 时将生成一个 UUID,并用于发送到后端服务器的事件中。它可以识别来自一个特定设备的所有事件,但不能识别单个用户。

自动事件跟踪

Qt Insight Tracker 可以跟踪 Qt 的任何由事件系统处理的事件。跟踪这些事件不需要对应用程序进行任何更改,与交互和转换事件不同。可以使用 QEvent::Type 中的所有有效事件类型。事件默认不跟踪,您需要将您想跟踪的事件类型添加到 JSON 配置文件中。

注意:某些事件类型可能导致跟踪事件的数目非常多,这可能会影响您的应用程序性能、网络使用和 Qt Insight Console 中的配额。

启用跟踪

Qt Insight Tracker 除非应用程序通过 API 明确启用,否则不收集或发送任何数据。在启用跟踪之前,应用程序必须获得用户的同意。

配置

您可以使用 JSON 配置文件和 C++ 及 QML API 配置 Qt Insight Tracker。配置文件在启动时读取,您可以从应用程序代码中更改值。您必须在启用跟踪之前完成所有配置更改。

要使用配置文件配置 Qt Insight Tracker,请添加以下 JSON 文件

{
    "server" : "collect-insight.qt.io",
    "token" : "00000000-0000-0000-0000-000000000000",
}

使用 token 来匹配您应用程序发送到您的 Qt Insight 组织的数据,您可以从 Qt Insight 控制台 找到您的 token。

要从您的应用程序配置 Qt Insight Tracker,请将以下内容添加到您的 QML 代码中

InsightConfiguration {
    token: "1234"
    syncInterval: 3600
}

或您的 C++ 代码

QInsightTracker tracker;
tracker.configuration().syncInterval(3600);

有关配置文件语法和 API 的更多详细信息,请参阅 QInsightConfiguration

事件缓存

默认情况下,跟踪的事件在发送到后端服务器之前会本地缓存。如果网络连接不可用或在数据发送之前应用程序退出,则保留跟踪信息。使用 SQLite 数据库进行缓存,但实现允许以后添加其他存储类型。

事件过滤

某些事件在发送到后端服务器之前可以进行过滤。这可以通过使用可以附加到 QML 组件的 InsightCategory 或在 API 调用中使用分类来实现。

然后您可以配置跟踪器使用 QInsightConfiguration::setCategories() 来仅跟踪匹配的分类事件。

离线使用

您可以将 Qt Insight Tracker 配置为在离线模式下工作,这意味着事件会正常跟踪到本地事件缓存,但永远不会发送到后端服务器。这对于没有网络连接的设备非常有用。要启用离线模式,从配置 json 中省略 sync 间隔或将所有值设置为零。

Qt Insight Tracker 附带一个单独的命令行实用程序(Qt Insight Uploader),您可以使用它稍后发送事件到后端。您需要从设备检索数据库文件,然后在您的 PC 上运行 insightuploader 实用程序。

© 2024 Qt 公司有限公司。在此处包含的文档贡献的版权归其各自的拥有者。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授予的。Qt 及其相关标志是芬兰的 Qt 公司及其它国家/地区的 商标。所有其他商标均归其各自的所有者所有。