A biblioteca do Google Play Services permite que desenvolvedores Android se conectem facilmente e usem recursos disponibilizados pelo Google. Há duas partes principais no uso do Google Play Services, o backend de serviços do Google e o aplicativo do cliente.

Neste artigo, você aprenderá sobre vários componentes do Google Play Services que estão disponíveis para seus aplicativos e como configurá-los através do Google Developer Console.

Então, continue lendo este artigo para aprender como usar o poder do Google Play Services nos seus aplicativos:

Introdução ao Google Play Services

O Google Play Services é um serviço que roda em segundo plano em todos os dispositivos Android conectados à Play Store. Como os serivoços do Google Play Services são distribuídos através da Play Store, eles são atualizados independentemente do fabricante do telefone ou da operadora, permitindo que cada dispositivo fique atualizado sem maiores problemas.

Em média, o Google Play Services é atualizado em um dispositivo após poucos dias de lançamento e o Google só disponibiliza a nova SDK atualizada para os desenvolvedores, depois que a grande maioria dos dispositivos tenha o Google Play Services mais recente.

A SDK, que é a biblioteca utilizada no seu aplicativo, que contém as interfaces para os serviços do Google e permite que você obtenha autorização dos usuários para ter acesso a esses serviços com suas credenciais.

Serviços Disponíveis do Google

Ao longo dos anos, o Google Play Services passou de uma maneira simples de acessar novos recursos do Google para um gigante de serviços contendo muitas APIs diferentes que podem ser usadas para uma variedade de recursos.

Entender quais recursos estão disponíveis no Google Play Services é o primeiro passo para saber o que pode ser usado para melhorar seus aplicativos. Cada recurso pode ser importado em seus projetos individualmente através de seu arquivo build.gradle.

Alguns serviços do Google Play Services, estão sendo migrados para a SDK do Firebase.

Google+ e Autenticação

O Google Play Services permite que os desenvolvedores se integrem ao Google+ fornecendo autenticação via login com as contas do Google, a capacidade de postar posts interativos, obter informações sobre o perfil de um usuário, compartilhamento de conteúdo e o botão +1.

Acesse aqui para maiores informações.

Indexação de Aplicativos

A indexação de aplicativos permite que os usuários clicem em links da web, e façam com que eles sejam abertos em um aplicativo Android que tenha sido instalado em seu dispositivo.

Esse recurso permite que os usuários tenham uma experiência otimizada em seu dispositivo tornando o engajamento com o aplicativo muito mais fácil.

Acesse aqui para maiores informações.

App Convites

O App Convites é um componente de interface que para que os usuários compartilhem um link do seu aplicativo por e-mail, SMS e etc, com contatos selecionados do telefone. Isso ajuda a direcionar mais instalações para seu aplicativo.

Acesse aqui para maiores informações.

Analytics

Este serviço permite que os desenvolvedores se integrem facilmente com o Google Analytics. Com o uso de análises, os desenvolvedores e as empresas podem aprender sobre como os usuários interagem com seu aplicativo, permitindo alterações para serem mais úteis aos usuários ou adicionem funcionalidades mais adequadas ao aplicativo.

Acesse aqui para maiores informações.

Awareness ( Conciência)

A API de Awareness permite que os desenvolvedores acessem várias fontes de dados do Google para criar aplicativos que entendem o contexto do usuário. As fontes de dados incluem clima, beacons, locais, localização e reconhecimento de atividades.

Acesse aqui para maiores informações.

Google Cast

Este serviço permite que os desenvolvedores controlem o conteúdo que está sendo reproduzido em um dispositivo Google Cast, como um Android TV ou Chromecast. Além de poder se conectar a dispositivos Cast e enviar conteúdos.

Acesse aqui para maiores informações.

Google Cloud Messaging

O Cloud Messaging permite que os desenvolvedores enviem mensagens de um serviço backend para os aplicativos. Essas mensagens podem ser usadas para acionar notificações ou iniciar tarefas em um aplicativo.

Acesse aqui para maiores informações.

Google Drive

Com a API do Google Drive, você pode criar, editar e excluir documentos, buscar arquivos e baixar documentos em um dispositivo. Quando um item é baixado, a versão mais recente será sempre transferida para o dispositivo e estará disponível para todas as aplicações com acesso ao arquivo enquanto estiver offline.

Acesse aqui para maiores informações.

Google Fit

O Google Fit permite que os desenvolvedores armazenem dados de ginástica dos usuários, a fim de ajudar-los a acompanharem seus hábitos de exercícios. Todos os dados armazenados através do Google Fit são armazenados on-line e são acessíveis pelo usuário a partir de vários dispositivos.

Acesse aqui para maiores informações.

 Google Maps

Um dos recursos mais utilizados do Google Play Services, o recurso de Mapas, inclui tudo o que você precisa para exibir um mapa do Google no aplicativo, colocar marcadores, desenhar na superfície do mapa com imagens ou formas simples, adicionar sobreposições no nível interno e até mesmo exibir uma rua.

Acesse aqui para maiores informações.

Anúncios do Google

Enquanto muitos podem pensar o Google como uma empresa de pesquisa na Internet, o seu verdadeiro foco é a publicidade. Com o Google Play Services, você pode acessar a rede de publicidade do Google para exibir anúncios em seus aplicativos e gerar receita extra.

Acesse aqui para maiores informações.

Locais

A API de Locais permite que os desenvolvedores acessem uma grande quantidade de informações do Google para fornecer aos usuários uma experiência adaptada à sua localização atual, usando nomes e informações de locais, em vez de um conjunto de coordenadas.

Acesse aqui para maiores informações.

Mobile Vision

O Mobile Vision permite que os desenvolvedores analisem imagens fixas ou de uma câmera em seus aplicativos. Usando os recursos do Mobile Vision, os desenvolvedores podem analisar e detectar rostos para localizá-los em uma imagem, determinar a probabilidade de os olhos estarem abertos ou fechados e descobrir se as pessoas da imagem estão sorrindo.

Acesse aqui para maiores informações.

Nearby

A Nearby API permite que os usuários interajam com outros dispositivos ou beacons em sua proximidade. Usando a Nearby Message API, os dispositivos podem se comunicar entre si por meio de bluetooth, ultra-som ou Wi-Fi.

Acesse aqui para maiores informações.

Play Game Services

O Play Game Services fornece várias ferramentas para melhorar a experiência de seus jogos e adicionar facilmente novos recursos. Incluindo conquistas, ranks, multiplayer, análise do jogador, salvar os jogos, eventos e quests, gifting e gravação de video.

Acesse aqui para maiores informações.

Android Pay

Com o Google Play Services, você pode integrar seu aplicativo com o Android Pay, permitindo que os usuários comprem produtos físicos por meio de seu aplicativo.

Acesse aqui para maiores informações.

Android Wear

Enquanto os componentes de interface do usuário para o Android Wear estão disponíveis na biblioteca de suporte do Wear, qualquer comunicação do telefone com os dispositivos portáteis é realizada por meio do Google Play Services.

Acesse aqui para maiores informações.

Usando o Google Developer Console

Antes de usar os serviços do Google em seu aplicativo Android, algumas APIs exigirão que você use o Google Developer Console para configurar os serviços que você usará.

Nesta seção, você aprenderá como ativar as APIs e criar uma chave para acessá-las de um aplicativo Android.

Criando um Projeto

Primeiro, precisamos criar um novo projeto para depois habilitar as APIs. Para criar um novo projeto, clique no botão azul Criar projeto no centro superior da tela.

Você vai ver uma caixa de diálogo que pede um nome para o projeto. Há algumas restrições sobre como você pode nomear seu projeto, utilize apenas letras, números, hifens, espaços e pontos de exclamação.

Depois de clicar em Criar, uma caixa de diálogo aparece no canto inferior direito da página indicando que o projeto está sendo criado. Uma vez que desapareceu, o seu projeto pode ser acessado.

Você deverá ver uma tela semelhante à seguinte. Se não, clique no logotipo das APIs do Google no canto superior esquerdo para acessar a tela do Gerenciador de API.

Habilitando as APIs

Depois de criar um projeto, você precisará habilitar as várias APIs do Google que serão usadas em seus aplicativos. Você pode fazer isso entrando na caixa de pesquisa e digitando o nome de qualquer API ou selecionando-a na lista de APIs na tela principal.

Depois de selecionar uma API para habilitar, clique no botão azul Ativar.

Se esta API for a primeira a ser ativada, será necessário criar um conjunto de credenciais para acessa-la.

Criando uma chave para a API

Para usar as APIs ativas, você precisará gerar uma chave para seu aplicativo Android. Na página de credenciais do seu projeto, clique em Criar credenciais e depois em Ajude-me a escolher.

Selecione a API desejada, depois selecione Android e o tipo de dados que você gostaria de acessar utilizando a API. Clique no botão azul Preciso de quais credenciais?.

Em seguida, você será levado para uma tela onde você pode inserir um nome de pacote para seu aplicativo e o SHA1 para a chave de assinatura do aplicativo. Para obter a chave de assinatura SHA1 para sua chave de depuração no Linux ou OS X, digite o seguinte comando em um terminal.

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Você pode executar o mesmo comando com o caminho para o local do seu arquivo debug.keystore.

Depois de gerar a chave SHA1, insira-a no criador de credenciais da API do Google.

Depois de clicar no botão Criar ID do cliente, você receberá a chave da API que você precisará usar em seu aplicativo Android.

Algumas APIs vão exigir que você selecione um email e nome de produto na próxima tela antes de receber suas credenciais. Outras, o processo para obter as credenciais é ainda mais simples do que o explicado acima.

Configurando seu Aplicativo

Depois de ativar e obter as credenciais das suas APIs, precisamos preparar seu aplicativo para utilizar a SDK do Google Play Services.

Primeiro, siga os passos abaixo para fazer o download da SDK para seu ambiente de desenvolvimento e  Android Studio:

  1. Inicie o Android Studio.
  2. No menu Tools, clique em Android > SDK Manager.
  3. Atualize o SDK Manager: clique em SDK Tools, expanda o Support Repository, selecione Google Repository e clique em OK.

Para obter instruções mais detalhadas e saber mais sobre o Android Studio e suas ferramentas, veja esses dois artigos:

Agora, precisamos adicionar a biblioteca base do Google Play Services em seu projeto utilizando o Gradle:

  1. Abra o arquivo build.gradle dentro do diretório do módulo do aplicativo.
  2. Adicione uma nova dependência da versão mais recente do play-services.
    apply plugin: 'com.android.application'
        ...
    dependencies {
        compile 'com.google.android.gms:play-services:10.0.1'
    }
  3. Salve as alterações e clique em Sync Project with Gradle Files na barra de ferramentas.

Seu aplicativo está quase pronto para começar a utilizar os serviços do Google. Juntamente com a dependência já configurada no build.gradle, adicione as bibliotecas dos serviços que serão utilizados.

apply plugin: 'com.android.application'
    ...

    dependencies {
        compile 'com.google.android.gms:play-services:10.0.1'
        compile 'com.google.android.gms:play-services-fitness:10.0.1'
        compile 'com.google.android.gms:play-services-wearable:10.0.1'
    }

Veja aqui a lista das bibliotecas disponíveis para cada serviço.

Para testar seu aplicativo com a SDK do Google Play Services, você deve usar:

  • Um dispositivo Android compatível com o Android 2.3 ou superior e que inclui o Google Play Store.
  • Um emulador do Android com um AVD que executa a plataforma de APIs do Google baseada no Android 4.2.2 ou superior.

Acessando as APIs do Google

Para fazer uma conexão com uma das APIs do Google fornecidas na biblioteca do Google Play Services (como o Google Sign-In, games ou Google Drive), é necessário criar uma instância do GoogleApiClient.

O Google API Client fornece um ponto de entrada comum a todos os serviços do Google Play Services e gerencia a conexão de rede entre o dispositivo do usuário e cada serviço do Google.

Veja abaixo como o Google API Client fornece uma interface para conectar e fazer chamadas para qualquer um dos serviços disponíveis do Google Play Services, como o Google Play Games e Google Drive.

Iniciar uma conexão

Depois que seu projeto estiver configurado, crie uma instância do GoogleApiClient usando as APIs do GoogleApiClient.Builder no método onCreate() da sua Activity.

A classe GoogleApiClient.Builder fornece os métodos que permitem especificar as APIs do Google que você deseja usar e os escopos de autenticação desejados.

Aqui está um exemplo de código que cria uma instância do GoogleApiClient que se conecta ao serviço do Google Drive:

public class MyActivity extends Activity implements OnConnectionFailedListener {
    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(this /* Activity */,
                                  this /* OnConnectionFailedListener */)
                .addApi(Drive.API)
                .addScope(Drive.SCOPE_FILE)
                .build();
    }

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        // Ocorreu um erro não resolvido e uma conexão com as APIs do Google
        // não pôde ser estabelecida.
    }
}

Você pode adicionar várias APIs e vários escopos ao mesmo GoogleApiClient adicionando chamadas para o addApi() e addScope().

Sua instância do GoogleApiClient se conectará automaticamente após o onStart() e desconectará depois de chamar onStop(). Seu aplicativo pode imediatamente começar a fazer solicitações de leitura para as APIs do Google após instânciar o GoogleApiClient, sem esperar pela conclusão da conexão.

Comunicar com os serviços

Após a conexão, o cliente pode fazer chamadas de leitura e gravação usando as APIs específicas do serviço para as quais seu aplicativo está autorizado, conforme especificado pelas APIs e escopos que você adicionou à sua instância do GoogleApiClient.

Quando você executa uma solicitação de leitura ou gravação usando o GoogleApiClient, o cliente da API retorna um objeto PendingResult que representa a solicitação. Isso ocorre imediatamente, antes que a solicitação seja entregue ao serviço do Google que seu aplicativo está chamando.

Query query = new Query.Builder().addFilter(Filters.eq(SearchableField.TITLE, filename));
PendingResult<DriveApi.MetadataBufferResult> result = Drive.DriveApi.query(mGoogleApiClient, query);

Depois que o objeto PendingResult for retornado, seu aplicativo pode especificar se o pedido é tratado como uma chamada assíncrona ou como uma chamada síncrona.

Conclusão

O Google Play Services oferece a liberdade de usar as APIs mais recentes, para os serviços mais populares do Google, sem se preocupar com o suporte a dispositivos.

As atualizações dos serviços são distribuídas automaticamente pela Google Play Store e novas versões da SDK são fornecidas pelo Gerenciador de SDK do Android.

Isto torna mais fácil para você se concentrar no que é importante: a experiência de seus usuários.

Uma vez que você tenha aprendido a turbinar seus apps, você precisa aprender métodos eficientes para aplicar e replicar em seus projetos, certo? Então, se você quer saber sobre os 4 Elementos Essenciais para Desenvolver Apps de Sucesso, de maneira profissional e independente, basta assistir à essa aula GRATUITA. Aproveite!

Gostou do conteúdo sobre o Google Play Services?

Então compartilhe esse artigo com seus amigos e qualquer dúvida deixe nos comentários aqui em baixo.

Leia também


Fillipe Cordeiro
Fillipe Cordeiro

Engenheiro da computação e desenvolvedor de software a quase 10 anos, com experiência em tecnologias como Java, Python e Android. Agora, quero te ajudar a mergulhar no universo do Desenvolvimento Android.