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 公司及其它国家/地区的 商标。所有其他商标均归其各自的所有者所有。