Séquence d’initialisation
L’initialisation comporte quatre étapes. La première est facultative ; les trois autres sont obligatoires.Étape 1 : définir des hooks de mémoire personnalisés (facultatif)
Si votre titre utilise un allocateur de mémoire personnalisé, appelez PFMemSetFunctions avant toute autre API PlayFab. Toutes les allocations de mémoire du SDK passent alors par vos propres rappelsalloc et free.
PFMemSetFunctions doit être appelé avant PFInitialize. Il ne peut pas être appelé à nouveau une fois les hooks définis.
Étape 2 : initialiser PlayFab Core
PFInitialize configure l’état global du SDK, notamment la couche HTTP et la file d’attente des tâches d’arrière-plan. La signature exacte varie selon la plateforme.Windows, Linux, iOS et macOS
nullptr pour utiliser la file d’attente du pool de threads par défaut.
Android
Sur Android, vous devez également fournir la machine virtuelle Java et le contexte de l’application afin que le SDK puisse initialiser libHttpClient :Si vous n’appelez pas explicitement PFInitialize, PFServicesInitialize l’appelle en interne avec les paramètres par défaut. Cela convient à la plupart des titres. Toutefois, si vous utilisez des hooks de mémoire personnalisés via PFMemSetFunctions, vous devez appeler vous-même PFInitialize ; sinon, PFServicesInitialize initialise Core avant que vos hooks de mémoire ne prennent effet, et le SDK utilise alors les routines d’allocation par défaut.
Étape 3 : créer une configuration de service
PFServiceConfigCreateHandle crée un handle qui indique au SDK le titre et le point de terminaison PlayFab à cibler. Vous trouverez ces deux valeurs dans Game Manager.Étape 4 : initialiser PlayFab Services
PFServicesInitialize configure la couche Services (Inventory, Leaderboards, Friends, etc.) au-dessus de Core.Windows, Linux, iOS et macOS
nullptr.
Android
Sur Android, transmettez un struct HCInitArgs contenant la machine virtuelle Java et le contexte de l’application :Cycle de vie de PFServiceConfigHandle
Un PFServiceConfigHandle est un handle à comptage de références. Le SDK gère sa durée de vie interne par comptage de références, mais il vous incombe de fermer chaque handle que vous possédez.Dupliquer un handle
Utilisez PFServiceConfigDuplicateHandle lorsque vous devez partager une configuration de service entre des composants qui gèrent leur propre durée de vie :Séquence d’arrêt
L’arrêt suit l’ordre inverse de l’initialisation. Vous devez désinitialiser Services avant Core, et les deux appels sont asynchrones.Étape 1 : fermer tous les handles ouverts
Avant de démonter le SDK, fermez chaque PFEntityHandle et PFServiceConfigHandle que vous possédez :Étape 2 : désinitialiser Services
PFServicesUninitializeAsync démonte la couche Services. Attendez la fin de cette opération avant de continuer.Étape 3 : désinitialiser Core
Une fois le nettoyage de Services terminé, appelez PFUninitializeAsync pour démonter Core :Si vous n’avez pas appelé explicitement PFInitialize, vous pouvez ignorer PFUninitializeAsync. Dans ce cas, PFServicesUninitializeAsync gère automatiquement le nettoyage de Core. Toutefois, si vous avez appelé vous-même PFInitialize, vous devez appeler vous-même PFUninitializeAsync.
