> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XblAchievementsUpdateAchievementAsync

> XblAchievementsUpdateAchievementAsync

# XblAchievementsUpdateAchievementAsync

Permite actualizar el progreso de los logros y desbloquear logros.

## Sintaxis

```cpp theme={null}
HRESULT XblAchievementsUpdateAchievementAsync(  
         XblContextHandle xboxLiveContext,  
         uint64_t xboxUserId,  
         const char* achievementId,  
         uint32_t percentComplete,  
         XAsyncBlock* async  
)  
```

### Parámetros

*xboxLiveContext*   \_In\_\
Tipo: [XblContextHandle](/reference/live/xsapi-c/types_c/handles/xblcontexthandle)

Identificador de contexto de xbox live creado con XblContextCreateHandle.

*xboxUserId*   \_In\_\
Tipo: uint64\_t

Id. de usuario de XBOX del jugador.

*achievementId*   \_In\_z\_\
Tipo: char\*

El identificador del logro codificado en UTF-8 tal como se define en XDP o Dev Center.

*percentComplete*   \_In\_\
Tipo: uint32\_t

El porcentaje de finalización del logro para indicar el progreso. Los valores válidos van de 1 a 100. Establézcalo en 100 para desbloquear el logro. El servidor establecerá el progreso en el valor más alto enviado

*async*   \_In\_\
Tipo: XAsyncBlock\*

AsyncBlock asignado por el autor de la llamada.

### Valor devuelto

Tipo: HRESULT

Código de retorno HRESULT de esta operación de API.

## Comentarios

Esta API funcionará incluso sin conexión en PC y XBOX One. El sistema publicará las actualizaciones sin conexión cuando se restablezca la conexión, aunque el título no se esté ejecutando. El resultado de la operación asincrónica se puede obtener llamando a [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus) dentro de la devolución de llamada de AsyncBlock o después de que se complete AsyncBlock. Si el logro ya se ha desbloqueado o el valor de progreso es menor o igual que el registrado actualmente en el servidor, XAsyncGetStatus() dentro de la devolución de llamada devolverá HTTP\_E\_STATUS\_NOT\_MODIFIED (0x80190130L).

## Llamada REST

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

## Requisitos

**Encabezado:** achievements\_c.h

**Biblioteca:** Microsoft.Xbox.Services.14x.GDK.C.lib

## Consulte también

[achievements\_c](/reference/live/xsapi-c/achievements_c/achievements_c_members)


## Related topics

- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [Actualización de logros administrados por el título](/es/services/xbox-services/player-data/achievements/title-managed/how-to/live-how-to-update-achievements.md)
- [XblAchievementsManagerAddLocalUser](/es/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanageraddlocaluser.md)
- [Estadísticas y logros](/es/build/steam-porting-guide/features/stats-and-achievements.md)
- [XblAchievementsUpdateAchievementForTitleIdAsync](/es/reference/live/xsapi-c/achievements_c/functions/xblachievementsupdateachievementfortitleidasync.md)
