Configuración de PlayFab y Microsoft Store para habilitar compras
En este tutorial se muestra cómo:- Crear un producto que se pueda comprar en Microsoft Store
- Asignarlo a una agrupación de PlayFab
- Canjear los artículos comprados en el inventario de un jugador mediante la API RedeemMicrosoftStoreInventoryItems
Requisitos previos
- Un título en el Game Manager de PlayFab.
- Una integración existente entre el título seleccionado y Microsoft Store, que incluya:
- El complemento XBOX Network instalado y configurado en Game Manager.
- El Product Group, el Dev Studio y el Business Partner ID configurados en Partner Center.
- Una cuenta de Partner Center con acceso a su aplicación.
- Una aplicación ya creada en Partner Center.
- 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.
Paso 1: Crear el complemento en Partner Center
Si no creó un complemento en Partner Center como parte de la configuración de la integración con el marketplace, siga estos pasos:- 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:
- Developer-managed consumable para artículos que se pueden volver a comprar (moneda, paquetes consumibles).
- Durable para compras únicas (DLC, pases de temporada, desbloqueos cosméticos).
- Complete la configuración del complemento (precios, descripciones, etc.) y envíelo.
- 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 la asignación de marketplace en PlayFab, no el Product ID definido por el desarrollador ni el nombre del complemento.
Los consumibles administrados por la Tienda no se admiten. Solo los consumibles administrados por el desarrollador (Developer-managed consumables) y los duraderos (Durables) funcionan con la API
RedeemMicrosoftStoreInventoryItems. Es posible que Partner Center muestre una advertencia que sugiera que los consumibles administrados por el desarrollador no se admiten en XBOX. Esta advertencia no se aplica cuando se usa el flujo de canje de PlayFab. Para obtener más información, consulte Elección del tipo de producto adecuado.- Publique el complemento en el sandbox o entorno en el que tenga previsto realizar las pruebas.
Paso 2: Crear una agrupación en Game Manager
Antes de crear una agrupación en Game Manager, cree y publique en su catálogo los artículos que desee agregar a la agrupación. Si necesita orientación sobre cómo crear un artículo, consulte este paso.
- Vaya a Game Manager y navegue hasta su título.
- En el menú de navegación izquierdo, elija Engage > Economy.
- Seleccione la pestaña Bundles.
- Seleccione New bundle.
- Agregue a la agrupación la información que desee, como artículos y precios.
- Desplácese hasta el final de la página y seleccione Save and publish si quiere que los jugadores puedan canjearla de inmediato. Seleccione Save as draft si quiere publicarla en una fecha posterior.
Agregar artículos a la agrupación
Una agrupación por sí sola no concede ningún artículo a un jugador. Primero debe vincularle artículos. Una vez canjeada, la agrupación concede esos artículos al jugador específico. Para agregar artículos a su agrupación:- Vaya a la sección Items en modo de edición.
- Seleccione Add. Aparece una ventana que muestra todos los artículos de su catálogo.
- Busque el artículo deseado y seleccione Add junto a él.
- Seleccione el botón Add en la parte inferior.
Paso 3: Habilitar la asignación de marketplace
Para garantizar que, cuando un jugador compre un producto en Microsoft Store, este se asocie y asigne correctamente en Game Manager, debe configurar la Marketplace Mapping en su agrupación.- Navegue hasta su agrupación en modo de edición.
- Desplácese hacia abajo hasta la sección Marketplace Mapping.
- En la lista desplegable Marketplace, seleccione MicrosoftStore (distingue mayúsculas de minúsculas; debe ser exactamente
MicrosoftStore). - Para el Marketplace ID, use el Store ID exacto de Partner Center (por ejemplo,
9NBLGGH42CFD). No use el Product ID definido por el desarrollador. - Seleccione el + en el lado derecho de esa fila y elija Save para guardar los cambios.
La agrupación debe estar publicada (no dejarse como borrador) para que se pueda asociar durante el canje. La API de canje no detecta artículos de catálogo sin publicar.
Paso 4: Autenticar al jugador
Antes de realizar una llamada de canje, debe asegurarse de que el jugador esté correctamente autenticado. Para escenarios de XBOX y Microsoft Store, use LoginWithXbox para autenticar al jugador con PlayFab. Tras una llamada correcta aLoginWithXbox, PlayFab devuelve un EntityToken que debe usar en los encabezados de la llamada de canje con la clave X-EntityToken.
Paso 5: Adquirir el token de XBOX
La APIRedeemMicrosoftStoreInventoryItems requiere un token de XBOX válido en el parámetro XboxToken. Este token es independiente del EntityToken que se usa para la autenticación.
-
Si usa la API de C del GDK, use:
Paso 6: Realizar una compra
El jugador debe comprar el complemento en Microsoft Store antes de que usted pueda canjearlo a través de PlayFab. Esta compra se puede realizar mediante la interfaz de XBOX o de la Tienda de Windows.Si está realizando pruebas en un entorno de sandbox, asegúrese de que la cuenta del jugador y el complemento estén publicados en el mismo sandbox. El jugador debe tener una compra sin canjear en su cuenta para que la API de canje encuentre artículos que canjear.
Paso 7: Canjear la compra
Con el jugador autenticado, el token de XBOX adquirido y una compra completada, ya puede llamar a la API RedeemMicrosoftStoreInventoryItems. Incluya elEntityToken como encabezado X-EntityToken y proporcione el token de XBOX en el cuerpo de la solicitud:
Funcionamiento del canje
Cuando se realiza la llamada aRedeemMicrosoftStoreInventoryItems, PlayFab usa el token de XBOX para consultar en la API de colecciones de Microsoft Store las compras sin canjear asociadas a la cuenta del jugador. A continuación, asocia esas compras con los Store IDs configurados en las asignaciones de marketplace de sus agrupaciones de PlayFab y concede los artículos correspondientes.
Una respuesta correcta incluye un código de estado 200 junto con la respuesta RedeemMicrosoftStoreInventoryItemsResponse, que contiene:
- Succeeded: una lista de los artículos canjeados correctamente.
- Failed: una lista de los artículos cuyo canje falló.
- TransactionIds: identificadores de cada transacción de canje.
items_redeemed. Puede acceder a estos registros de su título en la página Data, en la sección Analyze de la barra de navegación izquierda de Game Manager.
Cumplimiento de consumibles administrados por el desarrollador
Si el producto canjeado es un consumible administrado por el desarrollador, PlayFab lo notifica automáticamente como cumplido (consumido) ante Microsoft Store en su nombre después de un canje correcto. El paso de cumplimiento es necesario para que el jugador pueda volver a comprar el mismo consumible. Si el consumible no aparece como cumplido después de un canje correcto, reintente la llamada aRedeemMicrosoftStoreInventoryItems. Si el problema persiste, escale al equipo de PlayFab a través de su canal de soporte. Los duraderos no requieren cumplimiento porque son compras únicas. Para obtener más información, consulte Administración de consumibles y reembolsos.
Solución de problemas
Si la llamada de canje devuelve200 pero las tres matrices (Succeeded, Failed, TransactionIds) están vacías, la API de colecciones de Microsoft Store no encuentra ningún artículo coincidente. Este resultado suele indicar un problema de configuración. Consulte la sección de solución de problemas de la guía de integración de Microsoft Store para ver una lista completa de causas comunes y sus resoluciones.
Si la API devuelve un error HTTP (como 400), compruebe la respuesta de error en busca de códigos como InvalidCatalogItemConfiguration, InvalidXboxLiveToken o AccountNotLinked.
Consulte también
- Integración con el marketplace de Microsoft Store
- Referencia de la API RedeemMicrosoftStoreInventoryItems
- Inicio rápido de prevención de fraude
- Configuración del complemento XBOX Live
- Cómo integrar correctamente una aplicación de Apple en Game Manager
- Cómo integrar correctamente una aplicación de Google en Game Manager
