O segundo Visualização do Desenvolvedor do Android 11 já está disponível, teste e compartilhe seu feedback.

Migrar para APIs de local e contexto

O Google recomenda o uso das APIs de local e contexto no Google Play Services em apps que precisam de serviços de localização. Se seu app usa as APIs Location 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 uso 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.

Atualize o app

As etapas a seguir descrevem o processo de atualização de um app para uso das APIs de local e contexto:

  1. Configure o Google Play Services no seu projeto.
  2. Atualize o app para usar a API Location Settings para validar as configurações de localização atuais.
  3. Substitua a lógica personalizada usada para tarefas complexas, como tentar identificar se um usuário está perto de uma área ou o que o usuário está fazendo, por APIs de alto nível, como a API Geofencing ou a API Activity Recognition.
  4. Substitua o uso da API Location do framework pela API Fused Location Provider.
  5. Remova referências à API Location do framework.

Configure o Google Play Services no seu projeto

Para disponibilizar as APIs de local e 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 mais informações, 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 aplicativo.
  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 Alterar as configurações de localização ou veja os exemplos de local do Google Play (link em inglês) para o código de exemplo.

Substituir a lógica personalizada por APIs de alto nível

As APIs de alto nível, como a API Geofencing ou a API Activity Recognition, oferecem recursos que seu app pode usar para proporcionar ótimas experiências. No entanto, esses recursos exigem lógica complexa que pode ser difícil de codificar e manter. Se o app tiver essa lógica personalizada, substitua-a por componentes que aproveitam as APIs de alto nível.

Para detalhes de implementação, consulte os guias específicos da API de local e contexto.

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 do framework, para representar a localização geográfica. A API fornece recursos para detectar as atualizações de localização e para 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 do framework com alterações 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.