Integración del marketplace: Microsoft Store
En este tutorial se muestra cómo canjear compras desde la aplicación de Microsoft Store (incluido XBOX) a través de PlayFab Economy v2 mediante la API RedeemMicrosoftStoreInventoryItems. Al final de este tutorial, habrá:- Creado un complemento en Partner Center
- Configurado los ajustes necesarios de Partner Center y PlayFab
- Vinculado su producto de Microsoft Store con un lote del catálogo de PlayFab
- Llamado a la API de canje y comprobado los artículos en el inventario del jugador
Requisitos previos
- Una cuenta de Partner Center con acceso a su aplicación.
- Una aplicación ya creada en Partner Center.
- Un título ya creado en Game Manager.
- El jugador que llama a la API de canje debe estar autenticado en PlayFab con una identidad de XBOX Live (por ejemplo, mediante
LoginWithXbox). Los jugadores autenticados con otros tipos de identidad (como CustomID o correo electrónico) no tienen el contexto de XBOX necesario para este flujo.
Tipos de producto compatibles
La APIRedeemMicrosoftStoreInventoryItems admite los siguientes tipos de producto de Microsoft Store:
- Consumible administrado por el desarrollador — Productos que se pueden comprar, usar y volver a comprar (por ejemplo, paquetes de moneda del juego). El servicio del juego es responsable de realizar el seguimiento del cumplimiento.
- Duradero — Productos que se compran una vez y se poseen de forma permanente (por ejemplo, DLC, paquetes de expansión, pases de temporada o artículos cosméticos).
Los consumibles administrados por la Tienda no son compatibles. PlayFab Economy v2 no puede canjear consumibles administrados por la Tienda. Si su complemento está configurado como consumible administrado por la Tienda, la API de canje devuelve una respuesta HTTP 200 con resultados vacíos y sin ningún error, lo que dificulta el diagnóstico del problema.
Paso 1: Crear el complemento en Partner Center
- Inicie sesión en Partner Center y vaya a su aplicación.
- En Add-ons, seleccione Create a new add-on.
- Seleccione el tipo de producto adecuado:
- Consumible administrado por el desarrollador para artículos que se pueden volver a comprar (moneda, paquetes de consumibles).
- Duradero para compras únicas (DLC, pases de temporada, desbloqueos cosméticos).
- Complete la configuración del complemento (precios, descripciones, etc.) y envíelo.
Al crear un consumible administrado por el desarrollador, Partner Center muestra una advertencia que dice: “XBOX requires consumables to be managed, so do not use this option and create a ‘managed consumable’ add-on instead. If you have any questions, contact your Microsoft representative.”* Esta advertencia refleja las directrices generales de la plataforma XBOX y no se aplica al flujo de canje de PlayFab. Los consumibles administrados por el desarrollador funcionan correctamente en XBOX cuando se usan con la API
RedeemMicrosoftStoreInventoryItems de PlayFab. Puede continuar con este tipo de producto con total seguridad.- Después de crear el complemento, anote el Store ID, la cadena alfanumérica (por ejemplo,
9NBLGGH42CFD) que se muestra en Partner Center. Use este valor para PlayFab, no el identificador de producto definido por el desarrollador ni el nombre del complemento.
Paso 2: Configurar el grupo de productos, el estudio de desarrollo y el identificador de socio comercial
En este paso se configura el flujo de tokens delegados del servicio de tokens de seguridad de XBOX (XSTS) que PlayFab usa para consultar la API Collections de Microsoft Store en nombre del jugador.- En Partner Center, vaya a Developer Settings > XBOX Live > Web Services y genere un certificado de socio comercial si aún no lo ha hecho.
- Vaya a Developer Settings > XBOX Live > Business Partner y anote el Business Partner ID que coincide con el servicio web al que está vinculado su usuario de confianza.
- Cree un Dev Studio (o use uno existente) y establezca su Dev Studio ID para que coincida con el Business Partner ID del paso 2. Si el Dev Studio ya tiene un identificador diferente, cree un nuevo Dev Studio en lugar de cambiar el valor existente. Cambiarlo puede provocar errores en los servicios existentes.
- Cree un grupo de productos y asígnelo al Dev Studio del paso 3.
- Agregue el producto de su juego y todos sus complementos a la lista Included in this product group. Los elementos deben moverse explícitamente del lado “available” al lado “included”.
- Seleccione Save.
- Vaya a la página XBOX Settings de su juego y confirme que el Business Partner vinculado coincide con el del paso 2.
- Vuelva a publicar el producto del juego y todos los complementos en Microsoft Store en su sandbox de destino o en el entorno RETAIL.
Paso 3: Habilitar el complemento XBOX Network en Game Manager
El complemento XBOX Network vincula su producto de Partner Center con su título de PlayFab y habilita la validación de tokens de XBOX para el canje de Microsoft Store.- Abra Game Manager y seleccione su título.
- Seleccione Add-ons en el menú de navegación izquierdo.
- Busque y seleccione el complemento XBOX Network (etiquetado como Distribute for XBOX).
- Seleccione el Seller ID correcto en el menú desplegable. Si no ve el Seller ID correcto, seleccione Sign in with a different partner center account.
- Seleccione su Partner Center Product ID en el menú desplegable y confirme que el XBOX Live Title ID (decimal) coincide con lo que ve en Partner Center en XBOX services > XBOX Settings.
- Seleccione Install XBOX Network para guardar la configuración.
Game Manager también tiene una página independiente para el complemento Microsoft Store (también en Add-ons). Aunque no requiere configuración, contiene orientación útil, incluida la confirmación de los tipos de producto compatibles y detalles sobre la configuración del Dev Studio ID y el Business Partner ID.
Paso 4: Crear un lote de PlayFab con asignación de marketplace
Para vincular su producto de Microsoft Store con su catálogo de PlayFab, cree un lote con una asignación de marketplace (AlternateId).- En Game Manager, vaya a Economy > Catalog (V2) > Bundles.
- Seleccione New bundle (o edite uno existente).
- En la sección Marketplace Mapping, agregue una nueva asignación:
- Establezca el Marketplace type en
MicrosoftStore(distingue mayúsculas de minúsculas; debe ser exactamenteMicrosoftStore). - Establezca el valor en el Store ID exacto de Partner Center (por ejemplo,
9NBLGGH42CFD). No use el identificador de producto definido por el desarrollador ni el nombre del complemento.
- Establezca el Marketplace type en
- Agregue los artículos que quiere que reciba el jugador cuando se canjee este lote (por ejemplo, moneda del juego, artículos virtuales).
- Publique el lote. Los lotes sin publicar (en borrador) no se comparan durante el canje.
Paso 5: Adquirir y proporcionar el token de XBOX
Al llamar a la API RedeemMicrosoftStoreInventoryItems, debe proporcionar un token de XBOX válido en el parámetroXboxToken.
-
Si usa la API de C del GDK, use:
Paso 6: Probar la integración
Antes de dar por completada la integración, compruebe el flujo completo de un extremo a otro:- Asegúrese de que el complemento está publicado en el sandbox o entorno en el que realiza las pruebas.
- Inicie sesión como jugador de prueba con una identidad de XBOX Live y realice una compra de prueba del complemento a través de Microsoft Store. El jugador debe tener una compra sin canjear en su cuenta antes de que la API de canje tenga algo que detectar.
- Llame a
RedeemMicrosoftStoreInventoryItemscon elXboxTokendel jugador. - Compruebe que la respuesta contiene entradas en la matriz
Succeededy que los artículos correspondientes aparecen en el inventario de PlayFab del jugador.
Cumplimiento de consumibles administrados por el desarrollador: después de canjear un consumible administrado por el desarrollador, PlayFab lo notifica automáticamente como cumplido (consumido) ante Microsoft Store en su nombre. El paso de cumplimiento es necesario para que el jugador pueda volver a comprar el consumible. Si el consumible no aparece como cumplido después de un canje correcto, reintente la llamada a
RedeemMicrosoftStoreInventoryItems. Si el problema persiste, escálelo al equipo de PlayFab a través de su canal de soporte. Para obtener más detalles, consulte Administración de consumibles y reembolsos.Solución de problemas
Si la llamada aRedeemMicrosoftStoreInventoryItems se realiza correctamente (HTTP 200) pero las matrices Succeeded, Failed y TransactionIds de la respuesta están vacías, la API Collections de Microsoft Store no encuentra artículos coincidentes para canjear. Este comportamiento suele deberse a un problema de configuración. Compruebe los elementos siguientes:
Si la API devuelve un error HTTP (como 400), compruebe si la respuesta de error contiene los códigos siguientes:
Nota sobre títulos para PC/Windows
Este tutorial cubre el flujo de XBOX, que usa tokens XSTS delegados (pasados a través del parámetroXboxToken). Para los títulos para PC/Windows, Microsoft recomienda usar en su lugar identificadores User Store ID con Microsoft Entra ID para la autenticación de servicio a servicio. Para obtener más información, consulte Solicitud de un User Store ID para la autenticación de servicio a servicio y Autenticación del servicio — User Store IDs.
Consulte también
- Referencia de la API RedeemMicrosoftStoreInventoryItems
- Inicio rápido de prevención de fraude
- Configuración del complemento XBOX Live
- Autenticación del servicio (tokens XSTS)
- Elegir el tipo de producto adecuado
- Ecosistemas basados en consumibles
- Administración de consumibles y reembolsos
- Identificadores alternativos (asignación de marketplace)
- Cómo integrar correctamente una aplicación de Apple en Game Manager
- Cómo integrar correctamente una aplicación de Google en Game Manager
