Os recursos do SDK do Places para Android disponíveis no app são determinados por uma combinação do número da versão do SDK (por exemplo, 3.5.0) que você especifica na configuração do app, das APIs ativadas na chave de API e de como você inicializa o app. Este guia explica as diferenças entre as versões e como selecionar quais versões sã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 a recursos adicionados em uma versão específica. Por exemplo, a Autocomplete (New) só está disponível no SDK versão 3.5.0 ou mais recente.
Para mais informações sobre as mudanças introduzidas em cada versão do SDK, consulte as notas da versão do SDK 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: API Places ou API Places (nova). Junto 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 preenchimento automático ou preenchimento automático (novo). Embora você só possa especificar um número de versão do SDK, é possível ativar a API Places e a API Places (nova) na chave da 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, é necessário ativar a API Places (nova) e usar as versões (novas) 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:
- No projeto do Google Cloud, ative a API Places, a API Places (nova) ou ambas. Para mais informações, consulte Ativar APIs.
- Nas restrições da chave de API, ative a API Places, a API Places (novo) ou ambas. Para mais informações, consulte Como restringir chaves de API.
No arquivo build.gradle do app, especifique um número de versão. Para mais informações, consulte Instalação.
Inicialize seu app chamando o método
Places.initializeWithNewPlacesApiEnabled()
ouPlaces.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:
Recurso | 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 |
Detalhes do lugar (novo) | API Places (nova) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Pesquisa por proximidade (novo) | API Places (nova) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Place Photos (novo) | API Places (nova) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Pesquisa de texto (nova) | API Places (nova) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Place Autocomplete | API Places | initialize() |
|
Current Place | API Places | initialize() |
|
Detalhes do lugar | API Places | initialize() |
|
Place Photos | API Places | initialize() |
Considerações para escolher quais versões ativar
Para ajudar a decidir qual versão escolher, considere o seguinte:
- Se você é um cliente novo que está começando a usar o SDK do Places para Android, começe com a API Places (nova) e o novo SDK.
- Se você já é cliente, pode continuar usando o SDK atual. No entanto, para aproveitar as melhorias de desempenho e os aprimoramentos de 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 de 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 o Place Autocomplete (novo). As chamadas de widget não são afetadas pelo método de inicialização.
- Place Photos (New) retorna apenas um URI para uma imagem bitmap, enquanto Place Photos retorna apenas uma imagem bitmap.
- O Local atual 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 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 que melhoram a eficiência do desenvolvimento com o SDK do Places para Android (novo).
Desempenho aprimorado
O SDK do Places para Android (novo) oferece melhor desempenho, o que torna a substituição de apps que usam o SDK atual mais vantajosa.
Novos recursos
O SDK Places para Android (novo) inclui as versões mais recentes de todos os recursos do SDK:
- Preenchimento automático (novo)
- Detalhes do lugar (novo)
- Pesquisa por proximidade (novo)
- Place Photos (novo)
- Pesquisa de texto (nova)
Novo serviço de pesquisa de texto
Pesquisa de texto (novo) retorna informações sobre um conjunto de lugares com base em uma string, por exemplo, "pizza em Nova York" ou "lojas de sapatos perto de Ottawa" ou "123 Main Street". O serviço responde com uma lista de lugares que correspondem à string de texto e a qualquer viés de local que tenha sido definido.
Novos dados de resposta adicionados a "Detalhes do lugar" (novo) e "Fotos do lugar" (novo).
Detalhes do lugar (novo) agora inclui a nova classe Avaliação no objeto de resposta
Place
. A classe Place contém o novo métodogetReviews()
para oferecer suporte a esse campo. ChamegetReviews()
para retornar até cinco avaliações de um lugar.Place Photo (novo) adiciona o
AuthorAttributions
à classePhotoMetadata
.AuthorAttributions
contém umList
de objetosAuthorAttribution
.
Nova resposta de URI adicionada ao Place Photos (nova)
Agora é possível usar Place Photo (novo) para retornar um URI para um bitmap de imagem. Antes, só era possível retornar o bitmap da imagem.
Precificação simplificada
O preço é simplificado com o SDK do Places para Android (novo), para que você pague apenas pelos dados que usa. O preço simplificado é implementado usando listas de campos, também chamadas de máscaras de campo.
Com os detalhes do lugar e a pesquisa de texto, você usa listas de campos para controlar a lista de campos que serão retornados na resposta. Você só vai receber a cobrança 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 tempo de processamento e cobranças de faturamento desnecessários.
Para informações detalhadas sobre os preços dos dois 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 de Place Details e Text Search. Você também pode usar esses novos tipos, e os tipos existentes, em uma pesquisa com a Pesquisa de texto. 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é-escola | 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 |
Além desses novos tipos, a API Places (nova) mudou os seguintes tipos da Tabela 2 para a Tabela A. Isso significa que agora você pode usar estes tipos como parte de uma pesquisa:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality