Pular para o conteúdo principal
Esta página aborda a sequência completa de inicialização e desligamento do SDK do PlayFab Services. Todo título segue o mesmo padrão geral: configurar hooks opcionais, inicializar o Core, criar uma configuração de serviço, inicializar o Services, realizar o trabalho e, em seguida, desligar na ordem inversa.

Sequência de inicialização

A inicialização tem quatro etapas. A primeira é opcional; as três restantes são obrigatórias.

Etapa 1: definir hooks de memória personalizados (opcional)

Se o seu título usa um alocador de memória personalizado, chame PFMemSetFunctions antes de qualquer outra API do PlayFab. Isso direciona todas as alocações de memória do SDK para seus próprios retornos de chamada alloc e free.
PFMemSetFunctions deve ser chamado antes de PFInitialize. Ele não pode ser chamado novamente depois que os hooks forem definidos.
Se você não precisar de gerenciamento de memória personalizado, ignore esta etapa. O SDK usa as rotinas de alocação padrão.

Etapa 2: inicializar o PlayFab Core

PFInitialize configura o estado global do SDK, incluindo a camada HTTP e a fila de tarefas em segundo plano. A assinatura exata varia de acordo com a plataforma.

Windows, Linux, iOS e macOS

Passe um XTaskQueueHandle se quiser controlar qual fila processa o trabalho em segundo plano. Passe nullptr para usar a fila padrão do pool de threads.

Android

No Android, você também deve fornecer a Java VM e o contexto do aplicativo para que o SDK possa inicializar o libHttpClient:
Se você não chamar PFInitialize explicitamente, PFServicesInitialize o chamará internamente com os parâmetros padrão. Isso é adequado para a maioria dos títulos. No entanto, se você estiver usando hooks de memória personalizados por meio de PFMemSetFunctions, deverá chamar PFInitialize por conta própria; caso contrário, PFServicesInitialize inicializará o Core antes que seus hooks de memória entrem em vigor, e o SDK usará as rotinas de alocação padrão.

Etapa 3: criar uma configuração de serviço

PFServiceConfigCreateHandle cria um identificador que informa ao SDK qual título e qual ponto de extremidade do PlayFab usar. Você encontrará ambos os valores no Game Manager.
O PFServiceConfigHandle retornado é necessário para todas as chamadas de login subsequentes.

Etapa 4: inicializar o PlayFab Services

PFServicesInitialize configura a camada Services (Inventory, Leaderboards, Friends e assim por diante) sobre o Core.

Windows, Linux, iOS e macOS

O parâmetro é reservado para uso futuro; passe nullptr.

Android

No Android, passe um struct HCInitArgs que contenha a Java VM e o contexto do aplicativo:
Depois que essa chamada for bem-sucedida, o SDK estará pronto. Você poderá fazer login de jogadores e fazer chamadas de serviço.

Ciclo de vida de PFServiceConfigHandle

Um PFServiceConfigHandle é um identificador com contagem de referências. O SDK gerencia seu tempo de vida interno por meio da contagem de referências, mas você é responsável por fechar todos os identificadores que possui.

Duplicando um identificador

Use PFServiceConfigDuplicateHandle quando precisar compartilhar uma configuração de serviço entre componentes que gerenciam seus próprios tempos de vida:

Sequência de desligamento

O desligamento é o inverso da inicialização. Você deve desinicializar o Services antes do Core, e ambas as chamadas são assíncronas.

Etapa 1: fechar todos os identificadores abertos

Antes de desmontar o SDK, feche todos os PFEntityHandle e PFServiceConfigHandle que você possui:

Etapa 2: desinicializar o Services

PFServicesUninitializeAsync desmonta a camada Services. Aguarde a conclusão antes de prosseguir.

Etapa 3: desinicializar o Core

Depois que a limpeza do Services terminar, chame PFUninitializeAsync para desmontar o Core:
Se você não chamou PFInitialize explicitamente, pode ignorar PFUninitializeAsync. Nesse caso, PFServicesUninitializeAsync cuida da limpeza do Core automaticamente. No entanto, se você chamou PFInitialize por conta própria, deverá chamar PFUninitializeAsync por conta própria.

Exemplo completo

Este exemplo mostra o ciclo de vida completo, da inicialização ao desligamento, em um título do Windows:

Erros comuns

Confira também

Última modificação em 8 de outubro de 2026