- Antes de empezar
- Obtención de la lista de logros
- Obtención de la página siguiente de resultados de logros
- Obtención de un único logro
Antes de empezar
- Su producto usa el conjunto completo de características de los servicios de XBOX. Los productos nuevos empiezan con servicios de XBOX limitados, y los logros y el gamerscore no están disponibles hasta que se incorpora el producto. Para obtener más información, consulte Solicitar la incorporación del producto para habilitar todos los servicios de XBOX.
- Configuró los logros en Partner Center y publicó la configuración de los servicios de XBOX en su sandbox de desarrollo. Para obtener más información, consulte Configuración de logros administrados por el título en Partner Center.
- Su kit de desarrollo o PC con Windows usa el mismo sandbox de desarrollo e inicia sesión con una cuenta de prueba que tiene acceso a ese sandbox. Para obtener más información, consulte Información general sobre los sandboxes de los servicios de XBOX.
- Su juego inicializó Gaming Runtime y, a continuación, llamó a XblInitialize con una estructura XblInitArgs cuyo miembro
scidcontiene su identificador de configuración de servicio (SCID). El SCID distingue mayúsculas de minúsculas. Para obtener más información, consulte Cómo usar las API de servicios de XBOX. - Inició la sesión de un usuario y creó un
XblContextHandlepara ese usuario llamando a XblContextCreateHandle.
Obtención de la lista de logros
Para obtener los logros del título en ejecución, llame a XblAchievementsGetAchievementsForTitleIdAsync, como se muestra a continuación.Llamada a XblAchievementsGetAchievementsForTitleIdAsync
C++- XAsyncBlock
- XblAchievement
- XblAchievementProgressState
- XblAchievementsGetAchievementsForTitleIdAsync
- XblAchievementsGetAchievementsForTitleIdResult
- XblAchievementsResultCloseHandle
- XblAchievementsResultDuplicateHandle
- XblAchievementsResultGetAchievements
Obtención de la página siguiente de resultados de logros
Es posible que haya más páginas de logros. Para comprobarlo, llame a XblAchievementsResultHasNext. Para obtener la página siguiente, llame a XblAchievementsResultGetNextAsync con el identificador de resultado actual y, a continuación, llame a XblAchievementsResultGetNextResult en la devolución de llamada.XblAchievementsResultGetNextResult devuelve un nuevo identificador de resultado. Cada identificador de resultado debe cerrarse por separado. Si pasa 0 para maxItems, se intenta recuperar todos los elementos, pero el servicio puede proporcionar un tamaño de página predeterminado y devolver menos elementos de los solicitados aunque queden más páginas. Compruebe siempre XblAchievementsResultHasNext en lugar de suponer que una sola llamada devuelve todos los logros.
Procesamiento de todas las páginas de resultados
En el ejemplo siguiente, en lugar de cerrar el identificador de resultado deXblAchievementsGetAchievementsForTitleIdResult, páselo a ProcessAchievementsPage. La función asume la propiedad del identificador que se le pasa y lo cierra exactamente una vez. El identificador actual permanece abierto hasta que se completa la solicitud de la página siguiente.
C++
- XAsyncBlock
- XblAchievement
- XblAchievementProgressState
- XblAchievementsResultCloseHandle
- XblAchievementsResultGetAchievements
- XblAchievementsResultGetNextAsync
- XblAchievementsResultGetNextResult
- XblAchievementsResultHasNext
Obtención de un único logro
Para obtener un único logro, llame a XblAchievementsGetAchievementAsync, como se muestra a continuación. API de C plana- XAsyncBlock
- XblAchievement
- XblAchievementsGetAchievementAsync
- XblAchievementsGetAchievementResult
- XblAchievementsResultCloseHandle
- XblAchievementsResultGetAchievements
