Escolha a versão do SDK

Os recursos do SDK do Places para Android disponíveis no seu app são determinados por uma combinação do número da versão do SDK (por exemplo, 3.5.0) especificado na configuração do app, das APIs ativadas na chave de API e da forma de inicialização do app. Este guia explica as diferenças entre as versões e como selecionar quais versões estão ativadas no app.

Números de versão do SDK

O número da versão do SDK especificado no arquivo build.gradle no nível do app determina se o app tem acesso aos recursos adicionados em uma versão específica. Por exemplo, o Autocomplete (novo) só está disponível no SDK versão 3.5.0 ou mais recente.

Para mais informações sobre as mudanças aplicadas em cada versão do SDK, consulte as notas da versão do SDK do Places para Android.

Versões da API Places para o SDK do Places para Android

Além de especificar um número de versão do SDK, você também precisa selecionar o serviço da API Places que o SDK chama no console do Google Cloud: a API Places ou a API Places (nova). Com o número da versão do SDK, o serviço de API selecionado determina qual versão de recursos específicos está disponível no app, como Autocomplete ou Autocomplete (novo). Embora só possa especificar um número de versão do SDK, você pode ativar as APIs Places e Places (nova) na sua chave de API ao mesmo tempo e selecionar qual serviço o SDK chama pelo método usado para inicializar o SDK no app. No entanto, na maioria dos casos, convém ativar a API Places (nova) e usar as versões (nova) dos recursos do SDK no app.

Selecione a versão do SDK e os serviços da API

Para selecionar quais recursos do SDK estão disponíveis no app, faça o seguinte:

  1. No projeto do Google Cloud, ative a API Places, a API Places (nova) ou ambas. Para mais informações, consulte Ativar APIs.
  2. Nas restrições da chave de API, ative a API Places, a API Places (nova) ou ambas. Para saber mais, consulte Como restringir chaves de API.
  3. No arquivo build.gradle no nível do app, especifique o número da versão. Para mais informações, consulte Instalação.

  4. Inicialize seu app chamando o método Places.initializeWithNewPlacesApiEnabled() ou Places.initialize().

Para mais informações sobre como selecionar o serviço da API Places, consulte Configurar seu projeto do Google Cloud.

Recursos do SDK disponíveis em cada versão

A tabela a seguir mostra quais versões do SDK e da API são necessárias para cada recurso do SDK:

Engenharia de API Places ativada na chave de API Método de inicialização Versão mínima do SDK
Preenchimento automático (novo) API Places (nova) initializeWithNewPlacesApiEnabled() 3.5.0
Place Details (novo) API Places (nova) initializeWithNewPlacesApiEnabled() 3.3.0
Nearby Search (novo) API Places (nova) initializeWithNewPlacesApiEnabled() 3.5.0
Place Photos (novo) API Places (nova) initializeWithNewPlacesApiEnabled() 3.4.0
Text Search (novo) API Places (nova) initializeWithNewPlacesApiEnabled() 3.3.0
Place Autocomplete API Places initialize()
Current Place API Places initialize()
Place Details API Places initialize()
Place Photos API Places initialize()

Considerações para escolher quais versões ativar

Para decidir qual versão escolher, considere o seguinte:

  • Se você é um novo cliente que está começando a usar o SDK do Places para Android, comece com a API Places (nova) e o novo SDK.
  • Se você já for cliente, pode continuar usando o SDK atual. No entanto, se quiser aproveitar as melhorias na performance e nos recursos do SDK do Places para Android (novo), use o novo SDK. Não é necessário migrar para o novo SDK. Basta seguir as etapas em Selecionar a versão do SDK e os serviços da API.
  • No SDK do Places para Android (novo), os tokens de sessão estão disponíveis a partir da versão 3.5.0. Para mais informações, consulte Tokens de sessão.
  • As chamadas feitas usando widgets do Place Autocomplete sempre chamam o Place Autocomplete, não Place Autocomplete (novo). As chamadas de widget não são afetadas pelo método de inicialização.
  • Place Photos (novo) retorna apenas um URI para uma imagem de bitmap, enquanto Place Photos retorna apenas uma imagem de bitmap.
  • O Current Place só está disponível no SDK do Places para Android, não no SDK do Places para Android (novo).

Melhorias no SDK do Places para Android (novo)

Esta seção aborda os principais recursos adicionados ao SDK do Places para Android (novo).

Implementado na plataforma padrão do Google Cloud

O SDK do Places para Android (novo) é implementado na infraestrutura de serviços no Google Cloud. Essa implementação oferece uma plataforma mais segura e confiável. Esse design padrão traz um nível de consistência entre os SDKs, o que melhora a eficiência do desenvolvimento com o SDK do Places para Android (novo).

Tem desempenho aprimorado

O SDK do Places para Android (novo) oferece um desempenho aprimorado, o que faz com que seja útil substituir apps que usam o SDK existente.

Novos recursos

O SDK do Places para Android (novo) inclui as versões mais recentes de todos os recursos do SDK:

Novo serviço Text Search

Text Search (Novo) retorna informações sobre um conjunto de lugares com base em uma string, por exemplo, "pizza em São Paulo", "loja de sapatos perto do Rio de Janeiro" ou "Avenida Brasil, 123". O serviço responde com uma lista de locais correspondentes à string de texto e a todos os direcionamentos de localização definidos.

Novos dados de resposta adicionados a Placed Details (New) e Place Photos (Novo)

  • O Place Details (novo) agora inclui a nova classe Review no objeto Place de resposta. A classe Place contém o novo método getReviews() para oferecer suporte a esse campo. Chame getReviews() para retornar até cinco avaliações de um lugar.

  • Place Photo (novo) adiciona o AuthorAttributions à classe PhotoMetadata. AuthorAttributions contém um List de objetos AuthorAttribution.

Nova resposta de URI adicionada ao Place Photos (novo)

Agora você pode usar Place Photo (novo) para retornar um URI para um bitmap de imagem. Antes, só era possível retornar o próprio bitmap de imagem.

Preços simplificados

Os preços foram simplificados com o SDK do Places para Android (novo). Assim, você paga apenas pelos dados que usar. O preço simplificado é implementado usando listas de campos, também chamadas de máscaras de campo.

Com o Place Details e o Text Search, você usa listas de campos para controlar a lista de campos que devem ser retornados na resposta. Você só será cobrado pelos dados solicitados. Usar uma lista de campos é uma boa prática de design para garantir que você não solicite dados desnecessários, o que ajuda a evitar cobranças de faturamento e tempo de processamento desnecessários.

Para informações detalhadas sobre preços de ambos os SDKs, consulte Uso e faturamento.

Tipos de lugar expandidos

O novo SDK adiciona os tipos de lugar mostrados na tabela a seguir. Esses tipos são retornados como parte da resposta do Place Details e do Text Search. Você também pode usar esses novos tipos e os já existentes em uma pesquisa com o Text Search. Os novos tipos estão incluídos na Tabela A.

Tipo
american_restaurant discount_store ice_cream_shop sandwich_shop
amusement_center dog_park indian_restaurant school_district
athletic_field electric_vehicle_charging_station indonesian_restaurant seafood_restaurant
auto_parts_store event_venue italian_restaurant ski_resort
banquet_hall extended_stay_hotel japanese_restaurant spanish_restaurant
barbecue_restaurant fazenda korean_restaurant sporting_goods_store
barber_shop hotel-fazenda lebanese_restaurant sports_club
bed_and_breakfast fast_food_restaurant Marina sports_complex
brazilian_restaurant ferry_terminal mercado steak_house
breakfast_restaurant fitness_center medical_lab sushi_restaurant
brunch_restaurant french_restaurant mediterranean_restaurant swimming_pool
bus_stop gift_shop mexican_restaurant alfaiate
camping_cabin golf_course middle_eastern_restaurant telecommunications_service_provider
cell_phone_store greek_restaurant motel thai_restaurant
child_care_agency grocery_store national_park transit_depot
chinese_restaurant guest_house park_and_ride truck_stop
coffee_shop hair_salon performing_arts_theater turkish_restaurant
community_center hamburger_restaurant pizza_restaurant vegan_restaurant
consultor heliporto playground vegetarian_restaurant
convention_center hiking_area pré-escolar vietnamese_restaurant
casa de campo historical_landmark private_guest_room visitor_center
courier_service home_improvement_store ramen_restaurant wedding_venue
cultural_center albergue resort_hotel atacadista
dental_clinic hotel rest_stop

Junto com esses novos tipos, a API Places (nova) moveu os seguintes tipos da Tabela 2 da API Places para a Tabela A da API Places (nova). Isso significa que agora é possível usar estes tipos como parte de uma pesquisa:

  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality