Pular para o conteúdo principal
Este início rápido ajuda você a fazer sua primeira chamada à API do PlayFab no motor Cocos2d-x. Antes de chamar qualquer API do PlayFab, você precisa ter uma conta de desenvolvedor do PlayFab.

Configuração do projeto Cocos2d-x

Sistema operacional: este guia foi escrito para o Windows 10, usando o Visual Studio 2015. O Cocos funciona na maioria dos sistemas operacionais e ambientes modernos. As instruções de instalação são semelhantes, mas diferem para cada combinação. Se você estiver compilando para outras plataformas, os arquivos necessários são os mesmos, mas você precisará fazer a configuração do projeto por conta própria. O Visual Studio 2013 tem etapas idênticas, mas as capturas de tela fornecidas aqui serão um pouco diferentes das suas.
  1. Baixe e instale o Cocos2d-x
  2. Depois de configurar o Cocos2d-x, crie um projeto usando a CLI do Cocos:
    • Navegue até o local onde você deseja armazenar seu projeto Cocos
    • Abra uma janela de comando na pasta pai (a CLI do Cocos criará o diretório do projeto propriamente dito)
      • Mantenha a tecla Shift pressionada e clique com o botão direito no espaço em branco da janela do Explorer. CLI do Cocos - Abrir uma janela de comando
    • Na nova janela de console, insira este comando:
      • cocos new CocosGettingStarted -l cpp
        • Verifique se o subdiretório de destino (CocosGettingStarted) ainda não existe; este comando falhará se a pasta já existir.
        • Se você receber a mensagem “‘cocos’ isn’t recognized as an internal or external command”, a instalação do cocos não foi configurada corretamente (volte ao guia de instalação do Cocos para Windows).
        • Em caso de sucesso, haverá uma nova pasta CocosGettingStarted. Este guia se referirá a esse local de diretório como {CocosGettingStarted}.
    • Uma saída bem-sucedida deve ser semelhante ao exemplo abaixo.
  1. Baixe o PlayFab Cocos2d-xSdk: SDK de Cocos2D-x (C++). Salve e extraia-o em um local temporário {PlayFabCocos}
    • Abra a seguinte pasta no Windows Explorer: {PlayFabCocos}/PlayFabClientSDK
    • Abra a seguinte pasta em uma segunda janela do Windows Explorer: {CocosGettingStarted}/Classes
  2. Copie e cole todos os arquivos de {PlayFabCocos}/PlayFabClientSDK para {CocosGettingStarted}/Classes
  3. No Visual Studio, carregue {CocosGettingStarted}/proj.win32/CocosGettingStarted.sln.
  4. Queremos adicionar os arquivos do PlayFab ao projeto Cocos.
  5. No Visual Studio, no painel Solution Explorer, expanda até a pasta: Solution/CocosGettingStarted/src
  6. Abra uma janela do Windows Explorer em {CocosGettingStarted}/Classes
    • Selecione todos os arquivos em {CocosGettingStarted}/Classes, EXCETO AppDelegate.h, AppDelegate.cpp, HelloWorldScene.h e HelloWorldScene.cpp
    • Arraste e solte todos esses arquivos do Explorer na pasta Solution/CocosGettingStarted/src do Visual Studio que encontramos acima. Se você tiver problemas, pode arrastar e soltar cada arquivo individualmente, apenas tome cuidado para incluir todos eles.
    • Você verá estes arquivos no seu projeto do VS: Solution Explorer - Arquivos do projeto do VS
O PlayFab usa várias bibliotecas do Cocos que precisam ser adicionadas manualmente à lista de dependências.
  • Abra a janela Properties do seu projeto CocosGettingStarted (conforme mostrado abaixo). Janela Properties - Diretórios de inclusão do Cocos
  • Substitua Additional Include Directories por isto: $(ProjectDir)..\cocos2d\external\zlib\include;$(ProjectDir)..\cocos2d\external\curl\include\win32;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;..\Classes;..;%(AdditionalIncludeDirectories);$(_COCOS_HEADER_WIN32_BEGIN);$(_COCOS_HEADER_WIN32_END);..\cocos2d
Estamos adicionando curl e zlib, que são bibliotecas incluídas no Cocos, mas que não são habilitadas por padrão.
Seu projeto CocosGettingStarted agora deve compilar (e até ser executado), mas ainda não estamos fazendo nenhuma chamada à API do PlayFab. Instalação concluída!

Configurar sua primeira chamada à API

Este guia fornece as etapas mínimas para você fazer sua primeira chamada à API do PlayFab. A confirmação é exibida no aplicativo.
  1. No Visual Studio, dentro da pasta Solution/CocosGettingStarted/src, abra HelloWorldScene.h e substitua o conteúdo por isto:
    • No Visual Studio, dentro da pasta Solution/CocosGettingStarted/src, abra HelloWorldScene.h e substitua o conteúdo pelo mostrado abaixo.
  1. Logo ao lado, abra HelloWorldScene.cpp e substitua o conteúdo por isto:
Esses arquivos pegam a HelloWorldScene existente, que faz parte do modelo de novo projeto Cocos, e a modificam para incluir sua primeira chamada à API do PlayFab.

Concluir e executar

  1. Compile e execute seu projeto Cocos: Dropdowns -> Debug -> Start Debugging.
  2. Será solicitado que você compile. Selecione Yes.
  3. Você verá uma tela com a mensagem: Congratulations, you made your first successful API call!
  4. Agora você pode começar a fazer outras chamadas à API e a criar seu jogo.
    Para obter uma lista de todas as chamadas disponíveis da API de cliente, consulte nossa documentação de Referências de API do PlayFab.
Boa programação!

Desconstruir o código

Esta última seção opcional descreve em detalhes cada parte do código-fonte acima.
  • HelloWorldScene.h
    • Este arquivo foi modificado apenas de forma trivial em relação ao HelloWorldScene.h padrão gerado pelo Cocos.
    • Especificamente, ele define parte da GUI do Cocos que estamos usando e os protótipos de OnLoginSuccess e OnLoginFail.
    • Todo o resto são funções padrão do motor Cocos.
  • HelloWorldScene.cpp
    • createScene() é uma função padrão do motor Cocos.
    • init()
      • Elementos normais de GUI do Cocos: closeItem e testReportLabel.
      • PlayFab::PlayFabSettings::titleId = "xxxx";
        • Todo desenvolvedor do PlayFab cria um título no Game Manager. Ao publicar seu jogo, você precisa codificar esse titleId no jogo. Isso permite que o cliente saiba como acessar os dados corretos no PlayFab. Para a maioria dos usuários, basta considerar isso uma etapa obrigatória para que o PlayFab funcione.
      • PlayFab::ClientModels::LoginWithCustomIDRequest request;
        • A maioria dos métodos da API do PlayFab exige parâmetros de entrada, e esses parâmetros são empacotados em um objeto de requisição.
        • Cada método da API exige um objeto de requisição exclusivo, com uma combinação de parâmetros opcionais e obrigatórios.
          • Para LoginWithCustomIDRequest, há um parâmetro obrigatório CustomId, que identifica um jogador de forma exclusiva, e CreateAccount, que permite a criação de uma nova conta com essa chamada.
        • Para o logon, a maioria dos desenvolvedores vai querer usar um método de logon mais adequado.
          • Consulte a documentação de logon do PlayFab para obter uma lista de todos os métodos de logon e parâmetros de entrada. As opções comuns são:
            • LoginWithAndroidDeviceID
            • LoginWithIOSDeviceID
            • LoginWithEmailAddress
      • PlayFab::PlayFabClientAPI::LoginWithCustomID(request, OnLoginSuccess, OnLoginFail, nullptr);
        • Isso inicia a requisição assíncrona para LoginWithCustomID e invocará a função OnLoginSuccess ou OnLoginFail quando for concluída.
    • update(float delta)
      • Apenas definir a variável statusMsg não atualiza o texto na tela.
      • Esta função define o texto da GUI para corresponder ao conteúdo de statusMsg a cada tick (o que não é muito eficiente).
    • OnLoginSuccess(result, customData)
      • Quando o callback de sucesso é chamado, o objeto de resultado de muitos callbacks de API conterá as informações solicitadas.
      • LoginResult contém algumas informações básicas sobre o jogador, mas, para a maioria dos usuários, o logon é simplesmente uma etapa obrigatória antes de chamar outras APIs.
    • OnLoginFail(error, customData)
      • Se a função de erro for chamada, sua chamada à API falhou.
      • As chamadas à API podem falhar por vários motivos, e você deve sempre tentar tratar a falha.
      • Por que as chamadas à API falham (em ordem de probabilidade)
        • PlayFabSettings.TitleId não está definido. Se você se esquecer de definir o titleId para o seu título, nada funcionará.
          • No Cocos, a biblioteca curl provavelmente simplesmente fará seu jogo travar se você não definir o titleId corretamente.
        • Parâmetros da requisição. Se você não tiver fornecido as informações corretas ou obrigatórias para uma determinada chamada à API, ela falhará. Consulte error.errorMessage, error.errorDetails ou error.GenerateErrorReport() para obter mais informações.
        • Problema de conectividade do dispositivo. Celulares perdem e recuperam a conectividade constantemente, portanto qualquer chamada à API pode falhar aleatoriamente a qualquer momento e funcionar logo em seguida. Entrar em um túnel pode desconectar você completamente.
        • Problema no servidor do PlayFab. Como em qualquer software, podem ocorrer problemas. Consulte nossas notas de versão para obter atualizações.
        • A internet não é 100% confiável. Às vezes, a mensagem é corrompida ou não chega ao servidor do PlayFab.
      • Se você estiver com dificuldades para depurar um problema e as informações do callback de erro não forem suficientes, visite nossos fóruns.
    • customData é um ponteiro void, que pode ser usado de qualquer forma para estabelecer contexto.
      • Em C++, é mais difícil manter o contexto de uma chamada à API, por isso adicionamos o parâmetro customData, que pode repassar qualquer objeto ao callback e ser usado como você quiser para estabelecer contexto.
      • Assim, se você fizer chamadas à API para recuperar o inventário, poderá passar um ponteiro de jogador ou de inventário como customData e atualizar o inventário desse objeto no callback.
Última modificação em 8 de outubro de 2026