Skip to main content
Esta página describe la secuencia completa de inicio y cierre del SDK de PlayFab Services. Todos los títulos siguen el mismo patrón general: configurar los enlaces opcionales, inicializar Core, crear una configuración de servicio, inicializar Services, realizar el trabajo y, después, cerrar en orden inverso.

Secuencia de inicialización

La inicialización tiene cuatro pasos. El primero es opcional; los tres restantes son obligatorios.

Paso 1: Establecer enlaces de memoria personalizados (opcional)

Si su título usa un asignador de memoria personalizado, llame a PFMemSetFunctions antes que a cualquier otra API de PlayFab. Esto enruta todas las asignaciones de memoria del SDK a través de sus propias devoluciones de llamada alloc y free.
Se debe llamar a PFMemSetFunctions antes que a PFInitialize. No se puede volver a llamar después de que los enlaces se hayan establecido.
Si no necesita administración de memoria personalizada, omita este paso. El SDK usa las rutinas de asignación predeterminadas.

Paso 2: Inicializar PlayFab Core

PFInitialize configura el estado global del SDK, incluida la capa HTTP y la cola de tareas en segundo plano. La firma exacta varía según la plataforma.

Windows, Linux, iOS y macOS

Pase un XTaskQueueHandle si quiere controlar qué cola gestiona el trabajo en segundo plano. Pase nullptr para usar la cola de grupo de subprocesos predeterminada.

Android

En Android, también debe proporcionar la máquina virtual de Java y el contexto de la aplicación para que el SDK pueda inicializar libHttpClient:
Si no llama a PFInitialize explícitamente, PFServicesInitialize lo llama internamente con parámetros predeterminados. Esto es adecuado para la mayoría de los títulos. Sin embargo, si usa enlaces de memoria personalizados a través de PFMemSetFunctions, debe llamar a PFInitialize usted mismo; de lo contrario, PFServicesInitialize inicializa Core antes de que los enlaces de memoria surtan efecto y el SDK usa las rutinas de asignación predeterminadas en su lugar.

Paso 3: Crear una configuración de servicio

PFServiceConfigCreateHandle crea un identificador que indica al SDK a qué título y punto de conexión de PlayFab dirigirse. Encontrará ambos valores en Game Manager.
El PFServiceConfigHandle devuelto es necesario para todas las llamadas de inicio de sesión posteriores.

Paso 4: Inicializar PlayFab Services

PFServicesInitialize configura la capa de Services (Inventory, Leaderboards, Friends, etc.) sobre Core.

Windows, Linux, iOS y macOS

El parámetro está reservado para uso futuro; pase nullptr.

Android

En Android, pase una estructura HCInitArgs que contenga la máquina virtual de Java y el contexto de la aplicación:
Cuando esta llamada se complete correctamente, el SDK estará listo. Puede iniciar la sesión de los jugadores y realizar llamadas al servicio.

Ciclo de vida de PFServiceConfigHandle

Un PFServiceConfigHandle es un identificador con recuento de referencias. El SDK administra su duración interna mediante el recuento de referencias, pero usted es responsable de cerrar cada identificador que posea.

Duplicación de un identificador

Use PFServiceConfigDuplicateHandle cuando necesite compartir una configuración de servicio entre componentes que administran sus propias duraciones:

Secuencia de cierre

El cierre es el inverso de la inicialización. Debe desinicializar Services antes que Core, y ambas llamadas son asincrónicas.

Paso 1: Cerrar todos los identificadores abiertos

Antes de desmontar el SDK, cierre cada PFEntityHandle y PFServiceConfigHandle que posea:

Paso 2: Desinicializar Services

PFServicesUninitializeAsync desmonta la capa de Services. Espere a que se complete antes de continuar.

Paso 3: Desinicializar Core

Una vez finalizada la limpieza de Services, llame a PFUninitializeAsync para desmontar Core:
Si no llamó a PFInitialize explícitamente, puede omitir PFUninitializeAsync. En ese caso, PFServicesUninitializeAsync gestiona automáticamente la limpieza de Core. Sin embargo, si llamó a PFInitialize usted mismo, debe llamar a PFUninitializeAsync usted mismo.

Ejemplo completo

En este ejemplo se muestra el ciclo de vida completo desde la inicialización hasta el cierre en un título de Windows:

Errores comunes

Consulte también

Última modificación el 28 de agosto de 2026