Elige tu versión del SDK

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 especifiques en la configuración de tu app, las APIs habilitadas en tu clave de API y cómo inicializar tu app. En esta guía, se explican las diferencias entre 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 especificas 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 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 introducidos 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: API de Places o API de Places (versión nueva). Junto con el número de versión del SDK, el servicio de la API que selecciones determina qué versión de las 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 (versión nueva) en tu clave de API al mismo tiempo y, luego, seleccionar a qué servicio llama el SDK mediante el método que usas para inicializar el SDK en tu app. Sin embargo, en la mayoría de los casos, se recomienda habilitar la API de Places (versión 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 las funciones del SDK que están disponibles en tu app, haz lo siguiente:

  1. 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 Cómo habilitar las APIs.
  2. 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.
  3. En el archivo build.gradle de nivel de la app, especifica un número de versión. Para obtener más información, consulta Instalación.

  4. Inicializa tu app llamando a los métodos Places.initializeWithNewPlacesApiEnabled() o Places.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 del SDK y la 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 (nuevo) API de Places (nuevo) initializeWithNewPlacesApiEnabled() 3.4.0
Text Search (nuevo) 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()
Fotos de lugares 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 recién comienza a usar el SDK de Places para Android, comienza con la API de Places (versión nueva) y el nuevo SDK.
  • Si ya eres cliente, puedes seguir usando el SDK existente. Sin embargo, para aprovechar las mejoras de rendimiento y de funciones del SDK de Places para Android (versión nueva), debes usar el SDK nuevo. No es necesaria la migración al pasar al nuevo SDK. Solo sigue los pasos que se indican en Cómo seleccionar la versión del SDK y los servicios de la 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 que se realizan con los 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 para 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 (nuevas)

En esta sección, se describen las funciones clave que se agregaron al SDK de Places para Android (versión nueva).

Implementado en la plataforma estándar de Google Cloud

El SDK de Places para Android (nuevo) se implementa en la infraestructura de servicio de Google Cloud. Esta implementación aporta una plataforma más segura y confiable. Este diseño estándar aporta un nivel de coherencia entre los SDKs que mejoran la eficiencia del desarrollo con el SDK de Places para Android (nuevo).

tiene un rendimiento mejorado.

El SDK de Places para Android (versión nueva) mejora el rendimiento, por lo que vale la pena reemplazar las apps que usan el SDK existente.

Funciones nuevas

El SDK de Places para Android (versión nueva) incluye las versiones más recientes de todas las funciones del SDK:

Nuevo servicio de Text Search

Text Search (nuevo) muestra información sobre un conjunto de lugares en función de una cadena; por ejemplo, "pizza en Nueva York", "tiendas de zapatos cerca de Ottawa" 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 respuesta. La clase Place contiene el nuevo método getReviews() para admitir este campo. Llama a getReviews() para mostrar hasta cinco opiniones de un lugar.

  • Place Photos (nuevo) agrega el objeto AuthorAttributions a la clase PhotoMetadata. AuthorAttributions contiene una List de objetos AuthorAttribution.

Se agregó una nueva respuesta de URI a Place Photos (nueva).

Ahora puedes usar Place Photo (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

Con el SDK de Places para Android (versión nueva), los precios se simplifican a fin de que solo pagues por los datos que usas. Los precios simplificados se implementan mediante listas de campos, también llamadas máscaras de campo.

Con Place Details y Text Search, usas listas de campos para controlar la lista de campos que se debe mostrar en la respuesta. Entonces, solo se te facturará 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 innecesarios.

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 sitios que se muestran en la siguiente tabla. Estos tipos se muestran como parte de las respuestas de Place Details y Text Search. También puedes usar estos tipos nuevos y los existentes en una búsqueda con Text Search. 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 .farm korean_restaurant sporting_goods_store
barber_shop hacienda 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 playground 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) movió los siguientes tipos de la Tabla 2 de la API de Places a la Tabla A de la API de Places (versión nueva). Eso 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