Чтобы настроить приложение для использования Places SDK для Android, выполните следующие действия. Они необходимы для всех приложений, использующих Places SDK для Android.
Шаг 1. Настройте Android Studio
В этом документе описывается среда разработки с Android Studio Hedgehog и плагином Android Gradle версии 8.2.
Шаг 2. Настройте SDK
Библиотека Places SDK для Android доступна в репозитории Google Maven. Чтобы добавить SDK в приложение, выполните следующие действия:
- Добавьте портал плагина Gradle, репозиторий Google Maven и центральный репозиторий Maven в блок
pluginManagementфайлаsettings.gradle.ktsверхнего уровня. БлокpluginManagementдолжен находится над всеми операторами скрипта.pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } }
- Добавьте репозиторий Google Maven в файл
settings.gradle.ktsверхнего уровня и центральный репозиторий Maven в блокdependencyResolutionManagement:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() } }
-
В разделе
dependenciesфайлаbuild.gradle.ktsна уровне модуля добавьте зависимость для Places SDK для Android:Groovy
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
Kotlin
dependencies { // Places and Maps SDKs implementation("com.google.android.libraries.places:places:6.0.2") }
- В файле
build.gradle.ktsна уровне модуля присвойтеcompileSdkиminSdkследующие значения:Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- В разделе
buildFeaturesфайлаbuild.gradleуровня модуля добавьте классBuildConfig. Он позволит получать значения метаданных, которые будут определены позже.Groovy
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Шаг 3. Добавьте ключ API в проект
В этом разделе рассказывается, как настроить безопасный вызов ключа API вашим приложением. Вводить ключ API в систему управления версиями нежелательно, поэтому мы рекомендуем хранить его в файле secrets.properties, который находится в корневом каталоге проекта и не проверяется системами контроля версий. Подробные сведения о файлах свойств Gradle можно найти в описании файлов свойств Gradle.
Чтобы упростить работу, используйте плагин Secrets Gradle для Android.
Чтобы установить плагин Secrets Gradle для Android и сохранить ключ API, выполните следующие действия:
-
В Android Studio откройте файл
build.gradle.ktsилиbuild.gradleверхнего уровня и добавьте в блокpluginsприведенный ниже код.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
Откройте файл
build.gradle.ktsилиbuild.gradleуровня модуля и добавьте в элементpluginsприведенный ниже код.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Если вы используете Android Studio, синхронизируйте проект с Gradle.
-
Откройте файл
secrets.propertiesв каталоге верхнего уровня и добавьте приведенный ниже код. ЗаменитеYOUR_API_KEYсвоим ключом API. Добавьтеsecrets.propertiesв файл.gitignore(или исключите его из системы управления версиями другим способом), чтобы ключ API не попал в систему управления версиями.PLACES_API_KEY=YOUR_API_KEY
-
Создайте файл
local.defaults.propertiesв каталоге верхнего уровня (там же, где хранится файлsecrets.properties), а затем добавьте указанный ниже код.PLACES_API_KEY=DEFAULT_API_KEY
Этот файл служит запасным хранилищем ключа API, чтобы обеспечить выполнение сборки, даже если система не обнаружит файл
secrets.properties. Так может произойти, если вы скопируете приложение из системы управления версиями, игнорирующей файлsecrets.properties, и не создадитеsecrets.propertiesс ключом API локально. -
В Android Studio откройте файл
build.gradle.ktsилиbuild.gradleна уровне модуля и измените свойствоsecrets. Если свойстваsecretsнет, добавьте его.Измените свойства плагина, чтобы задать для
propertiesFileNameзначение"secrets.properties", дляdefaultPropertiesFileName–"local.defaults.properties"и другие свойства.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root 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" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root 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" }
Шаг 4. Инициализация клиента Places API
Чтобы инициализировать Places SDK для Android в действии или фрагменте, передайте ключ API при вызове 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);
Теперь вы можете начать использовать Places SDK для Android.
Шаг 5. Настройте устройство Android
Чтобы запустить приложение, использующее Places SDK для Android, разверните его на устройстве Android или в эмуляторе Android на базе Android 6.0 или более поздней версии, поддерживающем API Google.
- Чтобы использовать устройство Android, следуйте инструкциям о том, как запускать приложения на физических устройствах.
- Чтобы использовать эмулятор Android, создайте виртуальное устройство и установите эмулятор с помощью Диспетчера устройств, который доступен в Android Studio.