Si deseas configurar tu app para usar el SDK de Places para Android, sigue estos pasos: pasos. Son obligatorios para todas las apps que usan el SDK de Places para Android.
Paso 1: Configura Android Studio
En este documento, se describe un entorno de desarrollo que utiliza Android Studio Hedgehog y el complemento de Android para Gradle versión 8.2.
Paso 2: Configura el SDK
La biblioteca del SDK de Places para Android Repositorio Maven de Google. Para agregar el SDK a tu app, haz lo siguiente:
- En el archivo
settings.gradle.kts
de nivel superior, incluye el portal de complementos de Gradle, el repositorio de Maven de Google y el repositorio central de Maven debajo del bloquepluginManagement
. El bloquepluginManagement
debe aparecer antes que cualquier otra sentencia en la secuencia de comandos.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- En el archivo
settings.gradle.kts
de nivel superior, incluye el repositorio de Maven de Google y el repositorio central de Maven debajo del bloquedependencyResolutionManagement
:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
-
En
dependencies
de tu archivobuild.gradle
a nivel del módulo, agrega una dependencia al SDK de Places para Android:Groovy
dependencies { // If updating kotlin-bom version number above, also edit project-level build.gradle definition of $kotlin_version variable implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation 'com.google.android.libraries.places:places:3.3.0' }
Kotlin
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
- En el archivo
build.gradle
a nivel del módulo, configuracompileSdk
. yminSdk
a los siguientes valores:Groovy
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
- En la sección
buildFeatures
de tu archivobuild.gradle
a nivel del módulo, haz lo siguiente: Agrega la claseBuildConfig
, que usarás para acceder a los valores de metadatos definidos más adelante. en este procedimiento:Groovy
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Paso 3: Agrega tu clave de API al proyecto
En esta sección, se describe cómo almacenar tu clave de API para que tu app pueda hacer referencia a ella de manera segura. No debes incluir la clave de API en el sistema de control de versión, por lo que te recomendamos almacenarla en el archivo secrets.properties
, que se encuentra en el directorio raíz de tu proyecto. Para obtener más información sobre el archivo secrets.properties
, consulta los archivos de propiedades de Gradle.
Para optimizar esta tarea, te recomendamos que uses el complemento Secrets Gradle para Android.
Si deseas instalar el complemento Secrets Gradle para Android en tu proyecto de Google Maps, haz lo siguiente:
-
En Android Studio, abre tu archivo
build.gradle.kts
obuild.gradle
de nivel superior y agrega el siguiente código al elementodependencies
enbuildscript
.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Groovy
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Abre el archivo
build.gradle.kts
obuild.gradle
a nivel del módulo y agrega el siguiente código al elementoplugins
.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- En el archivo
build.gradle.kts
obuild.gradle
a nivel del módulo, asegúrate de que quetargetSdk
ycompileSdk
están configurados a 34. - Guarda el archivo y sincroniza tu proyecto con Gradle.
-
Abre el archivo
secrets.properties
en tu directorio de nivel superior y agrega el siguiente código. ReemplazaYOUR_API_KEY
por tu clave de API. Almacena tu clave en este archivo, ya quesecrets.properties
no se registra en un sistema de control de versión.PLACES_API_KEY=YOUR_API_KEY
- Guarda el archivo.
-
Crea el archivo
local.defaults.properties
en tu directorio de nivel superior, en la misma carpeta en la que se encuentra el archivosecrets.properties
, y agrega el siguiente código.PLACES_API_KEY=DEFAULT_API_KEY
El propósito de este archivo es proporcionar una ubicación de copia de seguridad de la clave de API si no se encuentra el archivo
secrets.properties
, de modo que no fallen las compilaciones. Esto puede ocurrir si clonas la app desde un sistema de control de versión que omitesecrets.properties
y aún no creaste un archivosecrets.properties
localmente para proporcionar tu clave de API. - Guarda el archivo.
-
En Android Studio, abre
build.gradle.kts
a nivel del módulo.build.gradle
y edita la propiedadsecrets
. Si el botón La propiedadsecrets
no existe, agrégala.Edita las propiedades del complemento para establecer
propertiesFileName
ensecrets.properties
, establecerdefaultPropertiesFileName
enlocal.defaults.properties
y establece cualquier otra propiedad.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Paso 4: Inicializa el cliente de la API de Places
Inicializa el SDK de Places para Android dentro de una actividad o un fragmento. Primero debes decidir qué versión del SDK usar: el SDK de Places para Android o SDK de Places para Android (nuevo). Para obtener más información sobre las versiones de los productos, consulta Elige tu versión del SDK.
En el siguiente ejemplo, se muestra cómo inicializar el SDK para ambas versiones.SDK de Places para Android (nuevo)
Pasa la clave de API durante la llamada
Places.initializeWithNewPlacesApiEnabled()
:
Kotlin
// Define a variable to hold the Places API key. val apiKey = BuildConfig.PLACES_API_KEY // Log an error if apiKey is not set. if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") { Log.e("Places test", "No api key") finish() return } // Initialize the SDK Places.initializeWithNewPlacesApiEnabled(applicationContext, apiKey) // Create a new PlacesClient instance val placesClient = Places.createClient(this)
Java
// Define a variable to hold the Places API key. String apiKey = BuildConfig.PLACES_API_KEY; // Log an error if apiKey is not set. if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) { Log.e("Places test", "No api key"); finish(); return; } // Initialize the SDK Places.initializeWithNewPlacesApiEnabled(getApplicationContext(), apiKey); // Create a new PlacesClient instance PlacesClient placesClient = Places.createClient(this);
SDK de Places para Android
Pasa la clave de API durante la llamada
Places.initialize()
:
Kotlin
// Define a variable to hold the Places API key. val apiKey = BuildConfig.PLACES_API_KEY // Log an error if apiKey is not set. if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") { Log.e("Places test", "No api key") finish() return } // Initialize the SDK Places.initialize(applicationContext, apiKey) // Create a new PlacesClient instance val placesClient = Places.createClient(this)
Java
// Define a variable to hold the Places API key. String apiKey = BuildConfig.PLACES_API_KEY; // Log an error if apiKey is not set. if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) { Log.e("Places test", "No api key"); finish(); return; } // Initialize the SDK Places.initialize(getApplicationContext(), apiKey); // Create a new PlacesClient instance PlacesClient placesClient = Places.createClient(this);
Ya estás listo para comenzar a usar el SDK de Places para Android.
Paso 5: Configura un dispositivo Android
Para ejecutar una app que usa el SDK de Places para Android, debes implementarla en un dispositivo Android o en Android emulador de aplicaciones que se basa en Android 5.0 o una versión posterior, e incluye las APIs de Google.
- Si deseas usar un dispositivo Android, sigue las instrucciones que se indican en Cómo ejecutar apps en un dispositivo de hardware.
- Para usar un emulador de Android, puedes crear un dispositivo virtual y, luego, instalar el emulador usando el Administrador de dispositivos virtuales de Android (AVD) incluido con Android Studio.