ISteamUGC::StartPlaytimeTracking:开始跟踪项目使用时间

ISteamUGC::StartPlaytimeTracking:开始跟踪项目使用时间

StartPlaytimeTracking 用于在工坊内容实际参与游戏时,开始记录一组项目的使用时间。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

客户端通过初始化成功后的 SteamUGC() 接口访问;游戏服务器使用服务器上下文的 SteamGameServerUGC()。以下声明按本次核对的官方接口整理,编译时应以项目实际使用的 SDK 头文件为准。

SteamAPICall_t StartPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs );

参数

参数 类型 方向与含义
pvecPublishedFileID PublishedFileId_t * 输入:包含要跟踪的项目 ID 的数组。
unNumPublishedFileIDs uint32 输入:ID 数组中的元素数量。

返回值与完成方式

返回 SteamAPICall_t;通过 StartPlaytimeTrackingResult_t 检查 m_eResult。空数组指针或数量小于 1、大于 100 时返回 k_uAPICallInvalid。

调用结果由 Steam 异步交付。应在对象有效期间保存对应的结果处理器,并持续运行 Steam 回调;还要区分传输失败与结果结构中的操作失败。

调用规则与排查

传入需要跟踪的项目 ID 数组,每次为 1 至 100 个,数组数量要与传参一致。项目不再使用时通过 StopPlaytimeTracking 停止;应用关闭时也会自动停止。把跟踪时机绑定到实际加载状态,有助于统计具有可解释性。

使用场景

例如,玩家进入同时使用多张工坊资源的游戏会话时,应用可收集实际启用的项目 ID 并开始跟踪。内容退出使用后再停止对应项目的跟踪;若项目数量超过单次限制,需要由应用分批组织调用和结果处理。只统计已订阅但未使用的项目会降低数据的参考价值。

相关接口

StopPlaytimeTracking、StopPlaytimeTrackingForAllItems。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。

站内字段参考

StartPlaytimeTrackingResult_t。

资料依据:Steamworks ISteamUGC:StartPlaytimeTracking。资料核对日期:2026 年 11 月 4 日。