Чтобы настроить приложение для использования Places SDK для Android, выполните следующие действия. Они обязательны для всех приложений, использующих Places SDK для Android.
Шаг 1: Настройка Android Studio
В этом документе описывается среда разработки с использованием Android Studio Hedgehog и плагина Android Gradle версии 8.2.
Шаг 2. Настройка SDK
Библиотека Places SDK для Android доступна в репозитории Maven от Google . Чтобы добавить SDK в приложение, выполните следующие действия:
- В файле верхнего уровня
settings.gradle.kts
включите портал плагинов Gradle , репозиторий Google Maven и центральный репозиторий Maven в блокpluginManagement
. БлокpluginManagement
должен располагаться перед любыми другими операторами скрипта.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- В файле верхнего уровня
settings.gradle.kts
включите репозиторий Maven от Google и центральный репозиторий Maven в блокdependencyResolutionManagement
:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
В разделе
dependencies
файлаbuild.gradle.kts
на уровне модуля добавьте зависимость от Places SDK для Android:Круто
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
Котлин
dependencies { // Places and Maps SDKs implementation("com.google.android.libraries.places:places:4.3.1") }
- В файле
build.gradle.kts
уровня модуля задайте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" }
Круто
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" }
Шаг 4. Инициализируйте клиент API Places.
Инициализируйте 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);
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.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.