Чтобы настроить приложение для использования Places SDK для Android, выполните следующие действия. Они необходимы для всех приложений, использующих Places SDK для Android.
Шаг 1. Настройте Android Studio
В этом документе описывается среда разработки с использованием Android Studio Hedgehog и плагина Android Gradle версии 8.2.
Шаг 2. Настройте SDK
Библиотека Places SDK для Android доступна в репозитории Google Maven . Чтобы добавить SDK в ваше приложение, выполните следующие действия:
- В файле
settings.gradle.kts
верхнего уровня включите портал плагинов Gradle , репозиторий Google Maven и центральный репозиторий Maven в блокеpluginManagement
. БлокpluginManagement
должен располагаться перед любыми другими операторами в скрипте.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- В файле
settings.gradle.kts
верхнего уровня включите репозиторий Google Maven и центральный репозиторий Maven в блокdependencyResolutionManagement
:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
В разделе
dependencies
файлаbuild.gradle
на уровне модуля добавьте зависимость к Places SDK для Android:классный
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' }
Котлин
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
- В файле
build.gradle
на уровне модуля установите дляcompileSdk
иminSdk
следующие значения:классный
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
Котлин
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- В разделе
buildFeatures
файлаbuild.gradle
уровня модуля добавьте классBuildConfig
, который вы используете для доступа к значениям метаданных, определенным позже в этой процедуре:классный
android { // ... buildFeatures { buildConfig true // ... } }
Котлин
android { // ... buildFeatures { buildConfig = true // ... } }
Шаг 3. Добавьте ключ API в проект.
В этом разделе описывается, как хранить ключ API, чтобы ваше приложение могло безопасно ссылаться на него. Вам не следует проверять свой ключ API в системе контроля версий, поэтому мы рекомендуем хранить его в файле secrets.properties
, который находится в корневом каталоге вашего проекта. Дополнительные сведения о файле secrets.properties
см. в разделе Файлы свойств Gradle .
Чтобы упростить эту задачу, мы рекомендуем использовать плагин Secrets Gradle для Android .
Чтобы установить плагин Secrets Gradle для Android в свой проект Google Maps:
- В Android Studio откройте файл
build.gradle.kts
илиbuild.gradle
верхнего уровня и добавьте следующий код в элементdependencies
вbuildscript
.Котлин
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
классный
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
- Откройте файл
build.gradle.kts
илиbuild.gradle
уровня модуля и добавьте следующий код в элементplugins
.Котлин
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
классный
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- В файле
build.gradle.kts
илиbuild.gradle
на уровне модуля убедитесь, что дляtargetSdk
иcompileSdk
установлено значение 34. - Сохраните файл и синхронизируйте проект с Gradle .
- Откройте файл
secrets.properties
в каталоге верхнего уровня, а затем добавьте следующий код. ЗаменитеYOUR_API_KEY
своим ключом API. Сохраните свой ключ в этом файле, посколькуsecrets.properties
не подлежит проверке в системе контроля версий.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
и установите любые другие свойства.Котлин
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.*" }
классный
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.*" }
Шаг 4. Инициализируйте клиент Places API
Инициализируйте Places SDK для Android в действии или фрагменте. Сначала вам необходимо решить, какую версию SDK использовать: Places SDK для Android или Places SDK для Android (новая). Дополнительную информацию о версиях продукта см. в разделе Выбор версии SDK .
В следующем примере показано, как инициализировать SDK для обеих версий.Places SDK для Android (новинка)
Передайте ключ API при вызове Places.initializeWithNewPlacesApiEnabled()
:
Котлин
// 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)
Ява
// 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 Адресов для Android
Передайте ключ API при вызове Places.initialize()
:
Котлин
// 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)
Ява
// 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);
Теперь вы готовы начать использовать Places SDK для Android!
Шаг 5. Настройте устройство Android
Чтобы запустить приложение, использующее Places SDK для Android, необходимо развернуть его на устройстве Android или в эмуляторе Android, основанном на Android 5.0 или более поздней версии и включающем API Google.
- Чтобы использовать устройство Android, следуйте инструкциям в разделе «Запуск приложений на аппаратном устройстве» .
- Чтобы использовать эмулятор Android, вы можете создать виртуальное устройство и установить эмулятор с помощью диспетчера виртуальных устройств Android (AVD) , который входит в состав Android Studio.