Migrar para as APIs de localização e contexto do Google Play Services

O Google recomenda o uso das APIs de localização e de contexto no Google Play Services em apps que precisam de serviços de localização. Caso seu app use as APIs de localização do framework, é importante migrar para o Google Play Services para aproveitar os recursos mais recentes do Google.

Usar o Google Play Services é a opção mais adequada para ter serviços de localização no seu app pelos seguintes motivos:

  1. O Google Play Services oferece uma interface simples e uma superfície de API mais limpa.
  2. Você especifica uma qualidade de serviço desejada e as APIs gerenciam as tecnologias subjacentes para você.
  3. As APIs do Google Play Services são otimizadas para desempenho e consumo da bateria.
  4. As APIs do Google Play Services são mantidas de maneira ativa. O Google está constantemente aprimorando os algoritmos e adicionando mais recursos.

Atualizar o app

As etapas abaixo descrevem o processo de atualização de um app para uso das APIs de localização e de contexto:

  1. Configure o Google Play Services no projeto.
  2. Use a API Location Settings para validar as configurações de localização atuais.
  3. Use o Google Play Services para recursos complexos, como fronteira geográfica virtual e reconhecimento de atividades e dos arredores.
  4. Substitua o uso da API Location do framework pela API Fused Location Provider.
  5. Remova referências à API Location do framework.

Configurar o Google Play Services no projeto

Para disponibilizar as APIs de localização e de contexto para seu projeto, você precisa adicionar uma referência ao repositório Maven do Google e declarar uma dependência para as APIs necessárias. Para saber mais, consulte Configurar o Google Play Services.

Usar a API Location Settings

Ao usar a API Location Settings, os apps oferecem o nível desejado de QoS e a API solicita ao usuário as alterações apropriadas nas configurações do sistema. Siga estas etapas para usar a API Location Settings no seu app:

  1. Solicite permissões de localização no manifesto do app.
  2. Configure um objeto LocationRequest que especifica o nível de QoS desejado.
  3. Use a API Location Settings para verificar as configurações atuais.

Para mais informações, consulte Como mudar as configurações de localização ou confira os exemplos de localização do Google Play para o código de exemplo.

Usar o Google Play Services para recursos complexos

As bibliotecas do Google Play Services ajudam a implementar novas experiências do usuário sobre contexto e reconhecimento dos arredores do usuário. As várias bibliotecas de localização e contexto aproveitam outros sensores além da localização de maneira eficiente, fornecendo dados mais precisos ao app e reduzindo o impacto na duração da bateria.

Incorpore estas bibliotecas no seu app em vez de programar soluções personalizadas:

Substituir a API Location do framework pela API Fused Location Provider

Você pode usar a API Fused Location Provider para acessar dados de local, como latitude e longitude. A API Fused Location Provider usa um objeto Location, assim como a API Location Framework, para representar a localização geográfica. Ela fornece recursos para detectar as atualizações de localização e identificar o último local conhecido. Todos esses recursos fazem da API Fused Location Provider uma boa candidata para substituir os componentes que usam a API Location Framework com mudanças mínimas no restante do app.

Identificar o último local conhecido é um bom ponto de partida para muitas experiências, já que é uma operação rápida que usa dados de local solicitados por qualquer cliente no dispositivo. Para rastrear a localização periodicamente, seu app pode se inscrever para receber atualizações de local, o que fornece dados atualizados e possibilita experiências mais complexas.

Remover referências à API Location do framework

Substitua as referências às classes no pacote com.google.android.location pelas classes do pacote com.google.android.gms.location, exceto as referências à classe Location que são usadas pela API Fused Location Provider. Geralmente, é possível remover do seu app os componentes que gerenciam os diferentes provedores, como GPS e Wi-Fi. As APIs de local e contexto gerenciam automaticamente esses provedores.

Testar seu app

Para executar um app que usa a versão mais recente do Google Play Services, você precisa de um dispositivo que tenha o app Play Store instalado e uma Conta do Google precisa estar conectada. Para fins de desenvolvimento, você pode usar as seguintes opções:

  • Um dispositivo físico conectado ao seu ambiente de desenvolvimento usando um cabo USB.
  • Um emulador com o app Play Store instalado.

Para mais informações sobre como conectar um dispositivo físico ao ambiente de desenvolvimento, consulte Executar apps em um dispositivo de hardware. Para criar um emulador que inclua o app Play Store, consulte Criar e gerenciar dispositivos virtuais.