- Creando una API sencilla a la que llamar.
- Creando información actualizada mediante el servicio de actividad en tiempo real de forma transparente.
- Los desarrolladores pueden llamar a la API Achievements Manager de forma sincrónica sin ninguna sobrecarga adicional para el servicio.
Características
El Achievements Manager proporciona las características siguientes:- API de logros simplificada
- Estado y progreso de los logros actualizados para cada usuario
- Reducción del número de llamadas a los servicios de XBOX
- Esto se correlaciona directamente con la reducción general de la latencia en la adquisición de datos
- Seguridad para subprocesos
- Mantenimiento eficiente de los datos actualizados
Conceptos básicos
Logros: un logro incluye el gamerscore y otras recompensas, como arte digital, mapas nuevos, personajes y mejoras de estadísticas, así como el progreso actual hacia su finalización. Para mantener actualizado el estado de los logros de un usuario, se debe llamar a la función XblAchievementsManagerDoWork en cada fotograma.En Windows solo puede haber un usuario local
Información general sobre la API
Usará con más frecuencia las siguientes API clave. Puede encontrar una descripción completa de las API de Achievements Manager en la referencia de API de XBOX Live. También puede encontrar las API en la documentación con el prefijo XblAchievementsManager.Adición de usuarios locales al Achievements Manager
- Función de la API de C: XblAchievementsManagerAddLocalUser
Obtención del estado de los logros de un usuario
- Función de la API de C: XblAchievementsManagerGetAchievements
Uso
Uso de eventos de Achievements Manager
El Achievements Manager le indica lo que ha ocurrido en forma de eventos. Puede usar esos eventos para actualizar la interfaz de usuario o ejecutar otra lógica. C APIEventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
- API de C: XblAchievementsManagerEventType::AchievementProgressUpdated
- API de C: XblAchievementsManagerEventType::AchievementUnlocked
Detalles adicionales
En lugar de obtener el estado de los logros del servicio con frecuencia durante el bucle del juego, el Achievements Manager obtiene el estado de todos los logros de un usuario cuando este se registra en el Achievements Manager. Después, el Achievements Manager recibe eventos del servicio que detallan las actualizaciones de los logros de un usuario, que luego se reenvían al título como events devueltos por la función * XblAchievementsManagerDoWork. events es una lista de XblAchievementsManagerEvent, y cada XblAchievementsManagerEvent contiene un cambio en un logro que se produjo durante el último fotograma. Puede encontrar más información en la documentación de la API XblAchievementsManagerEvent.Registro de un usuario cuyos logros se van a seguir
En este escenario, quiere registrar un usuario en el administrador de logros para empezar a hacer un seguimiento de las actualizaciones de los logros de ese usuario y almacenar en caché localmente el estado de todos los logros de ese usuario. C APIEventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
Detalles adicionales
El ejemplo anterior muestra cómo inicializar el Achievements Manager para un usuario y mantenerlo actualizado. En el bucle del juego, la función XblAchievementsManagerDoWork procesa y aplica cualquier actualización realizada en los logros de los usuarios.Recuperación de un único logro de un usuario
En este escenario quiere obtener el estado de un único logro de un usuario. C API- XblAchievement
- XblAchievementsManagerAddLocalUser
- XblAchievementsManagerIsUserInitialized
- XblAchievementsManagerGetAchievement
- XblAchievementsManagerResultGetAchievements
- XblAchievementsManagerResultCloseHandle
Eventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
Recuperación de todos los logros de un usuario
En este escenario quiere obtener el estado de todos los logros de un usuario. C API- XblAchievement
- XblAchievementOrderBy
- XblAchievementsManagerSortOrder
- XblAchievementsManagerAddLocalUser
- XblAchievementsManagerIsUserInitialized
- XblAchievementsManagerGetAchievements
- XblAchievementsManagerResultGetAchievements
- XblAchievementsManagerResultCloseHandle
Eventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
Recuperación de un subconjunto de logros de un usuario
En este escenario quiere obtener el estado de un subconjunto de logros de un usuario. C API- XblAchievement
- XblAchievementOrderBy
- XblAchievementsManagerSortOrder
- XblAchievementsManagerAddLocalUser
- XblAchievementsManagerIsUserInitialized
- XblAchievementsManagerGetAchievements
- XblAchievementsManagerResultGetAchievements
- XblAchievementsManagerResultCloseHandle
Eventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
Recuperación de un subconjunto de logros en un estado específico para un usuario
En este escenario quiere obtener el estado de un subconjunto de logros en un estado de progreso específico para un usuario. C API- XblAchievement
- XblAchievementOrderBy
- XblAchievementProgressState
- XblAchievementsManagerSortOrder
- XblAchievementsManagerAddLocalUser
- XblAchievementsManagerIsUserInitialized
- XblAchievementsManagerGetAchievementsByState
- XblAchievementsManagerResultGetAchievements
- XblAchievementsManagerResultCloseHandle
Eventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
Actualización de un logro de un usuario
Actualiza el progreso de un logro de un usuario. C API- XblAchievementsManagerAddLocalUser
- XblAchievementsManagerIsUserInitialized
- XblAchievementsManagerUpdateAchievement
Eventos devueltos
Local User Initial State Synced: se desencadena cuando el administrador de logros ha completado la obtención del estado actual de todos los logros del título actual para el usuario.- API de C: XblAchievementsManagerEventType::LocalUserInitialStateSynced
