Skip to main content
PlayFab es el back-end como servicio de Microsoft para juegos en vivo: economía, catálogos, tablas de clasificación, cloud script, análisis, emparejamiento y redes de voz/datos de PlayFab Party. Se superpone de forma limpia sobre los servicios XBOX. Los servicios XBOX son propietarios de la identidad orientada al jugador (gamertag, amigos, logros, presencia, sesiones de MPSD), y PlayFab es propietario de los datos de back-end del servicio en vivo (inventario, moneda, datos de usuario personalizados, telemetría). Cualquier título del GDK que use PlayFab Party, la economía de PlayFab para la compra desde la aplicación de Microsoft Store, las tablas de clasificación de PlayFab o cualquier otro servicio de PlayFab debe iniciar la sesión del jugador en ambas pilas y mantener vinculadas las dos identidades.
Esta página se centra en el lado XBOX de la integración: cómo aprovisionar una cuenta de PlayFab vinculada al XUser con sesión iniciada, y cómo el flujo de derechos de Microsoft Store se conecta con la economía de PlayFab. Para conocer toda la superficie de características de PlayFab (Game Manager, catálogos, cloud script, emparejamiento, Party), consulte la documentación de PlayFab.

Cuentas de usuario de XBOX y PlayFab

Una cuenta de los servicios XBOX y una cuenta de PlayFab son dos identidades independientes:
  • Cuenta de los servicios XBOX: orientada al jugador. Es propiedad de la cuenta Microsoft (MSA) del jugador. Contiene el gamertag, el XUID, los amigos, los logros y la presencia.
  • Cuenta de PlayFab: entre bastidores. Se identifica mediante un Entity ID dentro de su TitleId de PlayFab (una cadena de 4 a 6 dígitos hexadecimales que se asigna al crear un título en PlayFab Game Manager). No es lo mismo que el identificador de título de XBOX.
Para usar cualquier característica de PlayFab (chat de voz de Party, economía, tablas de clasificación) en su título del GDK, cada XUser con sesión iniciada debe tener una cuenta de PlayFab vinculada aprovisionada en el contexto de su título de PlayFab. Al final del flujo de inicio de sesión:
  • El jugador se ha agregado con XUserAddAsync y posee un XUserHandle.
  • Existe una cuenta de PlayFab para ese jugador bajo su TitleId de PlayFab (se aprovisiona automáticamente en el primer inicio de sesión).
  • Las cuentas de XBOX y PlayFab están vinculadas, y el título posee credenciales válidas (Entity ID + token de PlayFab) para llamadas autenticadas de REST/SDK de PlayFab.
Su TitleId de PlayFab no es lo mismo que su identificador de título de XBOX. Aprovisione un título de PlayFab por juego (o por partición) en PlayFab Game Manager y codifique de forma rígida ese TitleId en su configuración de compilación.

Inicio de sesión de los jugadores en PlayFab

Hay dos rutas de inicio de sesión compatibles. Elija una en función de los servicios de PlayFab que use:

PlayFab Services SDK

Recomendado para todos los títulos. Se distribuye como una Gaming Extension Library (PlayFab.Services.C) en el GDK. Úselo para economía, tablas de clasificación, cloud script, emparejamiento y cualquier título que use algo más que solo Party.

PlayFab Party Xbox Live Helper Library

Úsela solo si PlayFab Party es el único servicio de PlayFab que usa y los servicios XBOX son su único proveedor de autenticación. Se distribuye con el SDK de PlayFab Party dentro del GDK.

PlayFab Services SDK (recomendado)

El PlayFab Services SDK se distribuye con el GDK y expone PFAuthenticationLoginWithXUserAsync, que toma un XUserHandle e inicia la sesión del jugador en PlayFab en una sola llamada. Establezca createAccount = TRUE para aprovisionar automáticamente la cuenta de PlayFab vinculada en la primera ejecución. Configuración
  1. Instale el GDK.
  2. Agregue la Gaming Extension Library PlayFab.Services.C a su proyecto:
    • Abra el proyecto en Visual Studio → ProjectProperties.
    • En Configuration PropertiesGaming DesktopGeneral, abra Gaming Extension Libraries y agregue PlayFab.Services.C.
Flujo de inicio de sesión recomendado
  1. Inicie la sesión del jugador en su cuenta XBOX con XUserAddAsync y conserve el XUserHandle devuelto.
  2. Llame a PFAuthenticationLoginWithXUserAsync:
    • Pase el XUserHandle como parámetro user.
    • Establezca createAccount = TRUE para que PlayFab aprovisione automáticamente una cuenta vinculada en el primer inicio de sesión.
  3. Conserve las credenciales de PlayFab resultantes (Entity ID + token de PlayFab) durante la sesión y úselas para todas las llamadas posteriores a PlayFab.
Consulte el inicio rápido del PlayFab Services SDK para el GDK para ver el tutorial completo.

PlayFab Party XBOX Live Helper Library

Si PlayFab Party es el único servicio de PlayFab que usa su título, puede omitir el PlayFab Services SDK e iniciar sesión mediante la Party XBOX Live Helper Library, que se incluye con el SDK de PlayFab Party en el GDK. Flujo
  1. Inicie la sesión del jugador en XBOX con XUserAddAsync.
  2. Cuando se inicie el chat por primera vez, recupere el XUID con XUserGetId.
  3. Cree un PartyXblLocalChatUser llamando a PartyXblManager::CreateLocalChatUser con el XUID.
  4. Llame a PartyXblManager::LoginToPlayFab con ese objeto de usuario.
    • En GDK (consola y PC) y XDK, la biblioteca auxiliar obtiene internamente el token necesario de los servicios XBOX, inicia la sesión del jugador en PlayFab con sus credenciales de XBOX y crea automáticamente una cuenta de PlayFab en el primer inicio de sesión. Las cuentas creadas de esta manera no tienen ningún correo electrónico ni nombre de usuario asociado.
    • En títulos que no son de GDK ni de XDK (por ejemplo, PC Win32 sin GDK) recibirá en su lugar un PartyXblTokenAndSignatureRequestedStateChange. Obtenga usted mismo el token de los servicios XBOX y devuélvalo mediante PartyXblManager::CompleteGetTokenAndSignatureRequest.
  5. Si la operación se realiza correctamente, recibirá un PartyXblLoginToPlayFabCompletedStateChange que contiene el Entity ID y el token de PlayFab.
Para los usuarios remotos, use PartyXblManager::CreateRemoteChatUser; el flujo de usuario remoto no requiere autenticación ni intercambio de tokens.

XUser es el puente de identidad

Todo lo que viene después (inicio de sesión en PlayFab, tokens de escritura de sesión de MPSD, llamadas S2S, consultas de derechos) comienza con un XUserHandle devuelto por XUserAddAsync. Hay dos API importantes para la integración con PlayFab: Consulte Identidad de los servicios XBOX para conocer el modelo de inicio de sesión más amplio (MSA, tokens XSTS, delimitación por sandbox).

Títulos multiplataforma

PlayFab admite muchos proveedores de autenticación de plataforma. Cuando publique el mismo título en iOS, Android, Steam o PlayStation, no intente enrutar a todos los jugadores a través de XUser; use el proveedor de autenticación de PlayFab nativo de la plataforma:
  • iOS: Apple ID (LoginWithApple).
  • Android: Google Play Games (LoginWithGoogleAccount).
  • Steam: LoginWithSteam.
  • XBOX / PC con GDK: PFAuthenticationLoginWithXUserAsync (esta página).
Cada inicio de sesión de plataforma aprovisiona su propia cuenta de PlayFab y la vincula al mismo título de PlayFab. A los jugadores que se mueven entre plataformas con la misma cuenta de PlayFab se les combinan sus identidades vinculadas dentro de PlayFab. Consulte Autenticación de PlayFab específica de la plataforma para ver la matriz completa.

Compra desde la aplicación de Microsoft Store mediante la economía de PlayFab

En el caso de los títulos del GDK que venden artículos desde la aplicación a través de Microsoft Store, PlayFab actúa como el back-end de economía mientras que Microsoft Store se encarga de la transacción real. PlayFab concilia las compras de Microsoft Store en el inventario de PlayFab del jugador mediante el método de derechos; el jugador debe haber iniciado sesión primero en su cuenta XBOX.

El flujo

  1. El jugador ha iniciado sesión en XBOX (XUserAddAsync) y en PlayFab (PFAuthenticationLoginWithXUserAsync).
  2. El jugador compra un artículo a través de Microsoft Store en el dispositivo.
  3. Su título notifica la compra a PlayFab.
  4. PlayFab llama a ConsumeMicrosoftStoreEntitlements con el token de XBOX y sincroniza el inventario de PlayFab del jugador, concediendo los artículos nuevos.
Para los títulos del GDK, use el complemento de PlayFab de Microsoft Store y ConsumeMicrosoftStoreEntitlements. No use el complemento heredado de XBOX ni ConsumeXboxEntitlements (esa ruta es solo para títulos de XDK). El complemento de la Plataforma universal de Windows está en desuso.

Requisitos previos de Partner Center

  • Estar inscrito en el XBOX Creators Program o ser un asociado administrado.
  • Identidad de publicador configurada en Partner Center con el mismo GUID de publicador que la información de asociado comercial de XBOX (aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee).
  • Aprobación del concepto para usar los servicios XBOX.
En Partner Center, en Game setup → XBOX services, elija Use full XBOX services feature set (requires concept approval) o Use XBOX Creators Program y, a continuación, cree sus complementos bajo su título.
El complemento de Microsoft Store de PlayFab no admite consumibles administrados por la tienda en Partner Center. Cree únicamente consumibles administrados por el desarrollador (o duraderos).

Creación de artículos coincidentes en Partner Center y PlayFab

El Product ID de Partner Center y el Item ID de PlayFab deben coincidir exactamente para que la sincronización de derechos funcione.
  1. En Partner Center → Add-onsCreate a new Consumable (Developer-managed) (o Durable). Escriba un Product ID único (por ejemplo, MyItem_001).
  2. En PlayFab Game ManagerEngageEconomyNew item. Escriba la misma cadena en Item ID (MyItem_001). Márquelo como Consumable o Durable para que coincida con Partner Center y guárdelo.

Referencia de terminología

Catálogos y tiendas: un Item ID a nivel global

PlayFab le permite definir varios catálogos por título y, dentro de cada catálogo, puede agrupar artículos en tiendas. Para que la sincronización de derechos de Microsoft Store funcione, cada Product ID debe coincidir exactamente con un solo Item ID en todas las versiones de catálogo de su título de PlayFab.
Si el mismo Item ID aparece en más de un catálogo, el consumo de derechos producirá un error. Mantenga los identificadores de artículo globalmente únicos en todos los catálogos de un título de PlayFab determinado.
Incorrecto: el mismo identificador se reutiliza entre catálogos: Correcto: un Item ID por SKU, reutilizable libremente entre tiendas: Las tiendas dentro de un catálogo pueden entonces agrupar libremente cualquier subconjunto de esos artículos únicos:

Consulte también

Última modificación el 28 de agosto de 2026