Skip to main content
El PC con Windows introduce complicaciones que XStore en XBOX no tiene: la cuenta de Microsoft Store en el PC puede diferir de la cuenta XBOX del jugador, los sandboxes afectan a las operaciones de la Store de forma diferente y los flujos de tokens de licencia permiten a sus servicios verificar la propiedad sin confiar en el cliente.

DRM básico y comprobaciones de licencia

XStore en PC incluye una comprobación de DRM básica: el título verifica que tiene una licencia activa antes de permitir el juego. La comprobación se ejecuta al inicio mediante XStoreQueryGameLicenseAsync. Si no se encuentra ninguna licencia:
  1. Muestre al jugador una interfaz de usuario de la Store para comprar o iniciar sesión.
  2. No permita que el juego continúe sin una licencia activa.
Para los títulos con alto riesgo de piratería, agregue comprobaciones adicionales:
  • Valide la licencia mediante tokens de licencia desde su servicio.
  • Vuelva a comprobar periódicamente XStoreQueryGameLicenseAsync durante el juego; revoque el acceso si se pierde la licencia.

Licencias abiertas frente a restrictivas

Dos modelos de licencias en PC:
  • Licencias abiertas: el jugador puede ejecutar el título con cualquier cuenta de Microsoft Store que tenga una licencia. Útil para PC compartidos.
  • Licencias restrictivas: el jugador debe haber iniciado sesión con la cuenta de Microsoft con licencia. Se usa cuando los títulos quieren una protección antipiratería más fuerte.
Configúrelo en Partner Center, en las propiedades de su producto.

Tokens de licencia para la validación en servicios

Si su servidor de juego necesita confirmar que el jugador posee el título (por ejemplo, antes de conceder un recurso dentro del juego), use tokens de licencia:
  1. El cliente llama a XStoreQueryLicenseTokenAsync para obtener un token firmado de corta duración.
  2. El cliente envía el token a su servicio.
  3. Su servicio valida la firma del token con la clave pública de Microsoft.
  4. Su servicio confía en las notificaciones del token sobre el estado de la licencia.
Esto evita que el cliente afirme la propiedad sin pruebas y evita que su servicio sondee las API de Microsoft Store en cada sesión.

Escenarios de cuentas de la Store no coincidentes

Un problema común en PC: el jugador ha iniciado sesión en Windows o en la aplicación XBOX con una cuenta de Microsoft, pero en Microsoft Store hay una sesión iniciada con una cuenta diferente. Las API de XStore siguen la cuenta con sesión iniciada en la Store, lo que puede provocar que:
  • El título muestre “buy” aunque el jugador con sesión iniciada en XBOX lo posea en la otra cuenta.
  • La compra se realice correctamente en la cuenta equivocada.
Contrólelo así:
  1. Detecte la discrepancia: compare XUserGetId con la información de XStoreQueryGameLicenseAsync.
  2. Muestre una interfaz de usuario que explique la discrepancia y ofrezca cambiar de cuenta.
  3. Si el jugador no puede cambiar, ofrezca redirigirle a través de la aplicación XBOX para corregir la cuenta de la Store.

Cambio de sandbox para las operaciones de la Store

El sandbox de los servicios de XBOX (establecido mediante XblPCSandbox.exe) no controla por completo qué sandbox usa la Store en PC. Las operaciones de la Store necesitan un paso adicional:
  1. Cambie el sandbox de los servicios de XBOX.
  2. Vuelva a iniciar la aplicación Microsoft Store en el nuevo contexto de sandbox.
  3. Verifique que XStoreQueryGameLicenseAsync devuelve datos del sandbox de desarrollo.
No cambiar la Store correctamente conduce a resultados de prueba confusos en los que los servicios de XBOX ven el sandbox de desarrollo, pero las llamadas a la Store llegan a RETAIL.

Lista de comprobación de pruebas para el comercio en PC

Antes de enviar:
  1. Pruebe con una cuenta de prueba que no posea nada: verifique el flujo de compra / versión de prueba / inicio de sesión.
  2. Pruebe con una cuenta de prueba que posea el juego base: verifique que no aparezcan avisos de “buy”.
  3. Pruebe cuentas de la Store no coincidentes: inicie sesión en Windows con una cuenta y en la Store con otra.
  4. Pruebe el flujo de versión de prueba → compra: verifique que la licencia de prueba cambia a licencia completa sin reiniciar.
  5. Pruebe el inicio sin conexión: los títulos de PC deben iniciarse y poder jugarse sin conexión (sin contacto con la Store) durante un período razonable de licencia en caché.
  6. Pruebe el cambio de sandbox: confirme que las llamadas a la Store devuelven productos del sandbox de desarrollo después del cambio.

Documentación de la API relacionada

Consulte también

Última modificación el 28 de agosto de 2026