Las funciones del SDK de Places para Android que están disponibles en tu app se determinan mediante una combinación del número de versión del SDK (p.ej., 3.5.0) que especificas en la configuración de tu app, las APIs habilitadas en tu clave de API y cómo inicializas tu app. En esta guía, se explican las diferencias entre las versiones y cómo seleccionar qué versiones están habilitadas en tu app.
Números de versión del SDK
El número de versión del SDK que especifiques en el archivo build.gradle del nivel de la app determina si tu app tiene acceso a las funciones que se agregaron en una versión en particular. Por ejemplo, Autocomplete (nuevo) solo está disponible en la versión 3.5.0 o posterior del SDK.
Para obtener más información sobre los cambios que se introdujeron en cada versión del SDK, consulta las notas de la versión del SDK de Places para Android.
Versiones de la API de Places para el SDK de Places para Android
Además de especificar un número de versión del SDK, también debes seleccionar el servicio de la API de Places al que llama el SDK en la consola de Google Cloud: la API de Places o la API de Places (nueva). Junto con el número de versión del SDK, el servicio de la API que selecciones determina qué versión de funciones específicas está disponible en tu app, como Autocomplete o Autocomplete (nuevo). Si bien solo puedes especificar un número de versión del SDK, puedes habilitar la API de Places y la API de Places (nueva) en tu clave de API al mismo tiempo y, luego, seleccionar a qué servicio llama el SDK a través del método que usas para inicializar el SDK en tu app. Sin embargo, en la mayoría de los casos, querrás habilitar la API de Places (nueva) y usar las versiones (nuevas) de las funciones del SDK en tu app.
Selecciona la versión del SDK y los servicios de la API
Para seleccionar qué funciones del SDK están disponibles en tu app, haz lo siguiente:
- En tu proyecto de Google Cloud, habilita la API de Places, la API de Places (nueva) o ambas. Para obtener más información, consulta Habilita las APIs.
- En las restricciones de tu clave de API, habilita la API de Places, la API de Places (nueva) o ambas. Para obtener más información, consulta Cómo restringir las claves de API.
En el archivo build.gradle a nivel de la app, especifica un número de versión. Para obtener más información, consulta Instalación.
Para inicializar tu app, llama al método
Places.initializeWithNewPlacesApiEnabled()
oPlaces.initialize()
.
Para obtener más información sobre cómo seleccionar el servicio de la API de Places, consulta Configura tu proyecto de Google Cloud.
Funciones del SDK disponibles en cada versión
En la siguiente tabla, se muestran las versiones de SDK y API que se requieren para cada función del SDK:
Función | API de Places habilitada en la clave de API | Método de inicialización | Versión mínima del SDK |
---|---|---|---|
Autocompletar (nuevo) | API de Places (nuevo) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Place Details (nuevo) | API de Places (nuevo) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Nearby Search (nuevo) | API de Places (nuevo) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Place Photos (versión nueva) | API de Places (nuevo) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Búsqueda de texto (nueva) | API de Places (nuevo) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Place Autocomplete | API de Places | initialize() |
|
Current Place | API de Places | initialize() |
|
Place Details | API de Places | initialize() |
|
Place Photos | API de Places | initialize() |
Consideraciones para elegir qué versiones habilitar
Para ayudarte a decidir qué versión elegir, considera lo siguiente:
- Si eres un cliente nuevo que acaba de comenzar a usar el SDK de Places para Android, comienza con la API de Places (nueva) y el nuevo SDK.
- Si ya eres cliente, puedes seguir usando el SDK existente. Sin embargo, para aprovechar las mejoras de rendimiento y las mejoras de funciones del SDK de Places para Android (nuevo), debes usar el nuevo SDK. No es necesario realizar una migración cuando se cambia al nuevo SDK. Solo sigue los pasos que se indican en Cómo seleccionar la versión del SDK y los servicios de API.
- En el SDK de Places para Android (nuevo), los tokens de sesión están disponibles a partir de la versión 3.5.0. Para obtener más información, consulta Tokens de sesión.
- Las llamadas realizadas con widgets de Place Autocomplete siempre llaman a Place Autocomplete, no a Place Autocomplete (nuevo). Las llamadas a widgets no se ven afectadas por el método de inicialización.
- Place Photos (nuevo) solo muestra un URI a una imagen de mapa de bits, mientras que Place Photos solo muestra una imagen de mapa de bits.
- Current Place solo está disponible en el SDK de Places para Android, no en el SDK de Places para Android (nuevo).
Mejoras en el SDK de Places para Android (nuevo)
En esta sección, se describen las funciones clave que se agregaron al SDK de Places para Android (nuevo).
Se implementó en la plataforma estándar de Google Cloud
El SDK de Places para Android (nuevo) se implementa en la infraestructura de servicios en Google Cloud. Esta implementación brinda una plataforma más segura y confiable. Este diseño estándar brinda un nivel de coherencia entre los SDKs que mejora la eficiencia del desarrollo con el SDK de Places para Android (nuevo).
Rendimiento mejorado
El SDK de Places para Android (nuevo) proporciona un mejor rendimiento, por lo que vale la pena reemplazar las apps que usan el SDK existente.
Nuevas funciones
El SDK de Places para Android (nuevo) incluye las versiones más recientes de todas las funciones del SDK:
- Autocompletar (nuevo)
- Place Details (nuevo)
- Nearby Search (nuevo)
- Place Photos (versión nueva)
- Búsqueda de texto (nueva)
Nuevo servicio de Text Search
Text Search (nueva) muestra información sobre un conjunto de lugares en función de una cadena; por ejemplo, "pizza en Buenos Aires", "tiendas de zapatos cerca de Santiago" o "Calle principal 123". El servicio responde con una lista de lugares que coinciden con la cadena de texto y con cualquier personalización de ubicación que se haya establecido.
Se agregaron nuevos datos de respuesta a Placed Details (nuevo) y Place Photos (nuevo)
Place Details (nuevo) ahora incluye la nueva clase Review en el objeto
Place
de la respuesta. La clase Place contiene el nuevo métodogetReviews()
para admitir este campo. Llama agetReviews()
para mostrar hasta cinco opiniones de un lugar.Foto de lugar (nuevo) agrega
AuthorAttributions
a la clasePhotoMetadata
.AuthorAttributions
contiene unList
de objetosAuthorAttribution
.
Se agregó una nueva respuesta de URI a las fotos de lugares (nueva)
Ahora puedes usar Colocar foto (Nuevo) para mostrar un URI a un mapa de bits de imagen. Anteriormente, solo podías mostrar el mapa de bits de la imagen.
Precios simplificados
Los precios se simplifican con el SDK de Places para Android (nuevo) para que solo pagues por los datos que usas. Los precios simplificados se implementan con listas de campos, también llamadas máscaras de campo.
Con Place Details y Text Search, puedes usar listas de campos para controlar la lista de campos que se mostrarán en la respuesta. Luego, solo se te factura por los datos solicitados. Usar una lista de campos es una práctica de diseño recomendada para garantizar que no solicites datos innecesarios, lo que ayuda a evitar tiempos de procesamiento y cargos de facturación adicionales.
Para obtener información detallada sobre los precios de ambos SDKs, consulta Uso y facturación.
Tipos de lugares expandidos
El nuevo SDK agrega los tipos de lugares que se muestran en la siguiente tabla. Estos tipos se muestran como parte de la respuesta de Place Details y Text Search. También puedes usar estos tipos nuevos y los existentes en una búsqueda con la Búsqueda de texto. Los tipos nuevos se incluyen en la Tabla 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 | granja | korean_restaurant | sporting_goods_store |
barber_shop | turismo rural | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | puerto deportivo | 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 | sastre |
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 | helipuerto | parque | vegetarian_restaurant |
convention_center | hiking_area | preescolar | vietnamese_restaurant |
cabaña | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | hostal | resort_hotel | mayorista |
dental_clinic | hotel | rest_stop |
Junto con estos tipos nuevos, la API de Places (nueva) trasladó los siguientes tipos de la Tabla 2 de la API de Places a la Tabla A de la API de Places (nueva). Esto significa que ahora puedes usar estos tipos como parte de una búsqueda:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality