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 llamadaalloc 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.
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
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.Paso 4: Inicializar PlayFab Services
PFServicesInitialize configura la capa de Services (Inventory, Leaderboards, Friends, etc.) sobre Core.Windows, Linux, iOS y macOS
nullptr.
Android
En Android, pase una estructura HCInitArgs que contenga la máquina virtual de Java y el contexto de la aplicación: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.
