> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Início rápido do SDK Generator

> Configure o Node.js, instale o SdkGenerator do PlayFab e gere SDKs de cliente do PlayFab a partir da especificação JSON da API no Windows usando as ferramentas do Visual Studio.

O SDK Generator é um programa baseado em node.js que recebe uma descrição JSON da API do PlayFab e a usa para gerar todos os diferentes SDKs que precisam ser mantidos atualizados. O projeto SDK Generator também contém o código-fonte de todos os SDKs do PlayFab em todas as plataformas. Se você quiser fazer uma alteração em um SDK, é aqui que a alteração deve ser feita.

Antes de chamar qualquer API do PlayFab, você precisa ter uma [conta de desenvolvedor do PlayFab](https://developer.playfab.com).

## Pré-requisitos

1. Qualquer sistema operacional MS-Windows recente.
2. Você precisa ter o Node.js instalado: [https://nodejs.org/](https://nodejs.org/)
   * O local de node.exe precisa estar na variável de ambiente PATH. Padrão: C:\Program Files (x86)\nodejs\\
   * É altamente recomendável instalar as ferramentas do Node.js para Visual Studio: [https://beta.visualstudio.com/vs/node-js/](https://beta.visualstudio.com/vs/node-js/).
3. O `SdkGenerator` exige vários repositórios do PlayFab, clonados na sua máquina local, como pastas irmãs do `SdkGenerator`.
   * `<parent-folder>/SdkGenerator = <https://github.com/PlayFab/SDKGenerator>` (o que você está vendo)
   * `<parent-folder>/sdks/<targetSDK>` - Para cada SDK que você quiser gerar, primeiro faça o git clone do repositório do PlayFab desse destino na subpasta "sdks". Em muitos casos, há arquivos obrigatórios no repositório que não são gerados.
4. O `SdkGenerator` pode ser configurado para ler de outros repositórios do PlayFab, clonados na sua máquina local, como pastas irmãs do SdkGenerator.
   * `<parent-folder>/API_Specs = <https://github.com/PlayFab/api_specs>`

## Instruções de uso

Se você instalou as ferramentas do Node.js, pode compilar qualquer SDK existente a partir da solução do Visual Studio: [https://github.com/PlayFab/SDKGenerator/blob/master/SDKGenerator.sln](https://github.com/PlayFab/SDKGenerator/blob/master/SDKGenerator.sln)

* Abra a solução.
* Defina a configuração do projeto de acordo com o SDK que você deseja compilar.
* **Build** -> **Build Solution**.

Há vários scripts prontos que podem compilar cada SDK automaticamente: [https://github.com/PlayFab/SDKGenerator/tree/master/SDKBuildScripts](https://github.com/PlayFab/SDKGenerator/tree/master/SDKBuildScripts)

* Encontre o script correspondente ao SDK que você deseja compilar (por exemplo, unity\_build.bat).
* Clique duas vezes nesse arquivo.

Se quiser compilar um novo SDK, talvez seja necessário criar um novo arquivo .bat usando as instruções da próxima seção.

Por fim, você precisa fornecer uma lista de destinos a serem gerados e o diretório em que eles serão gerados.

Para invocar o gerador manualmente, abra uma linha de comando na raiz do projeto e digite um destino. Cada destino tem o formato:

`<targetName>=<targetOutputLocation>`

Em que `<targetName>` é um dos destinos de SDK compatíveis e `<targetOutputLocation>` é o caminho de um diretório no qual o SDK será gerado.

<Note>
  Verifique se não há espaços entre os argumentos e o sinal de igual.
</Note>

### Local da especificação da API

* Opcionalmente, você pode definir exatamente um local para ler as informações da especificação da API.
  * `-apiSpecPath []`
    * Se a opção `-apiSpecPath` for definida sem um caminho, o padrão será `../API_Specs` (caminho relativo, irmão do local do repositório SdkGenerator).
  * `-apiSpecGitUrl []`
    * Se a opção `-apiSpecGitUrl` for definida sem uma URL, o padrão será `<https://raw.githubusercontent.com/PlayFab/API_Specs/master/>`
    * Lê API\_Specs diretamente de um repositório do GitHub.
  * `-apiSpecPfUrl []`
    * Se a opção `-apiSpecPfUrl` for definida sem uma URL, o padrão será `<https://www.playfabapi.com/apispec/>`
    * Lê API\_Specs diretamente do servidor da API do PlayFab.

Os sinalizadores são opcionais e podem ser usados para gerar APIs de console.

## Criando um novo SDK

Configurar um novo destino no `SdkGenerator` é bastante simples. Este exemplo foi adicionado ao `SdkGenerator` para referência: [https://github.com/PlayFab/SDKGenerator/tree/master/targets/newTarget](https://github.com/PlayFab/SDKGenerator/tree/master/targets/newTarget).

* Adicione uma nova subpasta em [SdkGenerator/Targets](https://github.com/PlayFab/SDKGenerator/tree/master/targets).
* Adicione um arquivo "make.js" ao novo destino.
  * Implemente `makeClientAPI2`, `makeServerAPI` e/ou `makeCombinedAPI` no arquivo, conforme mostrado no [exemplo NewTarget](https://github.com/PlayFab/SDKGenerator/blob/master/targets/newTarget/make.js).
  * Opcionalmente, você pode usar arquivos de modelo e arquivos de origem, conforme descrito no exemplo NewTarget.
* Adicione um novo arquivo .bat para gerar seu SDK em [SdkGenerator/SDKBuildScripts](https://github.com/PlayFab/SDKGenerator/tree/master/SDKBuildScripts).

Às vezes, o PlayFab aceita envios de novos SDKs. Esse processo é extenso e precisa ser integrado ao nosso sistema automatizado de build e testes. Para obter mais informações, entre em contato conosco nos fóruns.

## Solução de problemas

Para obter uma lista completa das APIs disponíveis, confira as [Referências de API](/pt-BR/services/playfab/api-references).

### Fale conosco

Adoramos ouvir nossa comunidade de desenvolvedores! Você tem ideias sobre como podemos melhorar nossos produtos e serviços?

Nossa equipe de Developer Success pode ajudar a responder a quaisquer dúvidas e processar qualquer feedback que você tenha sobre os serviços do PlayFab.

[Fóruns, suporte e base de conhecimento](https://community.playfab.com/)


## Related topics

- [Ferramentas e extensões do PlayFab](/pt-BR/services/playfab/sdks/tools/index.md)
- [Início rápido do SDK do Lobby](/pt-BR/services/playfab/multiplayer/lobby/lobby-getting-started.md)
- [Início rápido](/pt-BR/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [Início rápido do Unity](/pt-BR/services/playfab/sdks/unity3d/quickstart.md)
- [Início rápido do SDK de Matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
