Introdução aos serviços relacionados a jogos do Google Play para C++ no Android

Este guia para desenvolvedores mostra como compilar e executar um jogo C++ no Android que usa a API Google Play Game Services. Antes de começar, faça o download e configure os seguintes requisitos:

Este guia para desenvolvedores usa o Kit de desenvolvimento nativo do Android (NDK). Se você não conhece o NDK, consulte a documentação e exemplos do NDK antes de continuar.

Etapa 1: configurar o ambiente

  1. Faça o download do SDK do Android e do Android NDK e extraia-os para sua máquina. No ambiente, defina SDK_ROOT como o local da pasta do SDK do Android e NDK_ROOT como o local da pasta do Android NDK.
  2. Faça o download dos exemplos de jogos em C++. Este guia para desenvolvedores se refere ao local das amostras na sua máquina como SAMPLES_DIR.
  3. Faça o download do SDK para C++ dos serviços relacionados a jogos do Google Play. Extraia o SDK na sua máquina de desenvolvimento. No seu ambiente, defina a variável NDK_MODULE_PATH para apontar para o diretório acima do diretório gpg-cpp-sdk. Você terá a seguinte estrutura de diretórios:
    NDK_MODULE_PATH/
    gpg-cpp-sdk/
  4. Abra o Eclipse. Se ainda não fez isso, informe ao Eclipse onde você instalou o NDK clicando em Preferences > Android > NDK.
  5. Importe o projeto da biblioteca do Google Play Services para o espaço de trabalho do Eclipse.

    1. No Eclipse, clique em File > Import > Android > Existing Android Code into Workspace.
    2. Selecione SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib, em que SDK_ROOT é o local do SDK do Android.
    3. Clique em Finish.
  6. Importe o projeto de exemplo minimalista para o espaço de trabalho do Eclipse.

    1. No Eclipse, clique em File > Import > Android > Existing Android Code into Workspace.
    2. Selecione SAMPLES_DIR/samples-android/minimalist.
    3. Clique em Finish.
  7. Clique com o botão direito do mouse no projeto MinimalistActivity e clique em Properties. Em Android, role a tela até a seção Library e verifique se o projeto google-play-services_lib está corretamente referenciado. Caso contrário, remova a referência e adicione novamente no seu espaço de trabalho.

O Eclipse compila automaticamente as origens Java e Android do seu projeto. No entanto, o código nativo na pasta jni precisa ser compilado separadamente. Para fazer isso manualmente, navegue até a pasta jni e execute ndk-build. Faça isso depois de fazer mudanças na pasta jni.

Seu projeto vai ser compilado, mas ainda não vai funcionar. Primeiro, configure seu jogo no Google Play Console.

Etapa 2: configurar o jogo no Google Play Console

Crie uma entrada para o jogo no Google Play Console. Isso ativa os serviços relacionados a jogos para seu app e cria um ID de cliente OAuth 2.0, se você ainda não tiver um.

  1. Crie uma entrada para o jogo seguindo as etapas descritas em Configuração dos serviços relacionados a jogos do Google Play.
  2. Em AndroidManifest.xml, mude o atributo package da tag <manifest> para o nome do pacote escolhido ao configurar o Google Play Console. Talvez seja necessário corrigir algumas referências no projeto depois de fazer essa mudança, principalmente na classe R gerada.
  3. Abra res/values/ids.xml e coloque o ID do app. O ID do app não é o mesmo que o ID do cliente. Ele é o número ao lado do nome do jogo na página Detalhes do jogo do Google Play Console.

Etapa 3: executar a amostra

Para executar o exemplo, você vai precisar de um dispositivo Android físico ou um emulador com o Google Play Services instalado:

  1. Execute ndk-build para compilar o código nativo.
  2. No Eclipse, clique em Run > Run As > Android Application e execute o exemplo no seu dispositivo.
  3. Quando a amostra abrir, toque em qualquer lugar na tela. O logotipo do Google Play Games vai aparecer. Se você tiver configurado o app corretamente, será necessário fazer login.

Opcional: criar automaticamente com o Eclipse

As etapas a seguir mostram como configurar o Eclipse para executar ndk-build automaticamente quando você faz alterações nos arquivos na pasta jni.

  1. Clique com o botão direito do mouse no projeto MinimalistActivity e clique em Properties. Na janela "Propriedades", selecione o painel Builders.
  2. Clique em Novo para adicionar um novo Builder e selecione Programa. Em seguida, clique em OK.
  3. No campo Nome, digite "NDK Builder".
  4. Em Local, clique em Procurar sistema de arquivos, navegue até o diretório NDK_ROOT e selecione o comando ndk-build.
  5. Em Working Directory, clique em Browse Workspace e selecione a pasta do projeto MinimalistActivity.
  6. Clique na guia Atualizar. Confira se a caixa Refresh resources upon completion (Atualizar recursos após a conclusão) está marcada.
  7. Selecione o botão de opção Recursos específicos e clique em Especificar recursos. Na caixa de diálogo resultante, selecione a pasta jni em MinimalActivity.
  8. Clique em Aplicar e em OK para concluir a criação do Builder.

Agora, sempre que você editar um arquivo na pasta jni, o Eclipse vai executar ndk-build e imprimir a saída no console do Eclipse.