XblAchievementsUpdateAchievementForTitleIdAsync

允许更新成就进度和解锁成就。

语法

HRESULT XblAchievementsUpdateAchievementForTitleIdAsync(  
         XblContextHandle xboxLiveContext,  
         uint64_t xboxUserId,  
         const uint32_t titleId,  
         const char* serviceConfigurationId,  
         const char* achievementId,  
         uint32_t percentComplete,  
         XAsyncBlock* async  
)  

参数

xboxLiveContext _In_
类型:XblContextHandle

使用 XblContextCreateHandle 创建的 xbox live 上下文句柄。

xboxUserId _In_
类型:uint64_t

玩家的 Xbox 用户 ID。

titleId _In_
类型:uint32_t

游戏 ID。

serviceConfigurationId _In_z_
类型:char*

游戏的服务配置 ID (SCID)。 因为将 SCID 视为区分大小写,所以可直接从合作伙伴中心粘贴它。

achievementId _In_z_
类型:char*

UTF-8 编码的成就 ID,由 XDP 或开发者中心定义。

percentComplete _In_
类型:uint32_t

指示进度的成就的完成百分比。 有效值从 1 到 100。 设为 100 以解锁成就。 进度将由服务器设置为发送的最高值。

async _In_
类型:XAsyncBlock*

调用方分配的 AsyncBlock。

返回值

类型:HRESULT

此 API 操作的 HRESULT 返回代码。

备注

即使在 PC 和 Xbox One 上处于脱机状态时,此 API 也可以工作。 即使游戏未运行,系统也会在重新建立连接后发布脱机更新。 异步操作的结果可以通过在 AsyncBlock 回调中或在 AsyncBlock 完成后调用 XAsyncGetStatus 来获得。 如果此操作意外失败,请确保 XblInitArgs 中的 SCID 正确区分大小写。

REST 调用

V2 POST /users/xuid({xuid})/achievements/{scid}/update

要求

头文件:achievements_c.h

图书馆: Microsoft.Xbox.Services.14x.GDK.C.lib

另请参阅

achievements_c