So konfigurieren Sie Ihre App für die Verwendung des Places SDK for Android: Sie sind für alle Apps erforderlich, in denen das Places SDK for Android verwendet wird.
Schritt 1: Android Studio einrichten
In diesem Dokument wird eine Entwicklungsumgebung mit Android Studio Hedgehog und Version 8.2 des Android-Gradle-Plug-ins beschrieben.
Schritt 2: SDK einrichten
Die Places SDK for Android-Bibliothek ist über das Maven-Repository von Google verfügbar. So fügen Sie das SDK der App hinzu:
- Fügen Sie in der Datei
settings.gradle.kts
auf oberster Ebene das Portal für Gradle-Plug-ins, das Maven-Repository von Google und das Maven Central Repository unter dempluginManagement
-Block ein. DerpluginManagement
-Block muss vor allen anderen Anweisungen im Script eingefügt werden.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- Fügen Sie in der Datei
settings.gradle.kts
auf oberster Ebene das Maven-Repository von Google und das Maven Central Repository unter demdependencyResolutionManagement
-Block ein:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
-
Fügen Sie im Abschnitt
dependencies
der Dateibuild.gradle.kts
auf Modulebene eine Abhängigkeit zum Places SDK for Android hinzu: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:4.1.0") }
- Legen Sie in der Datei
build.gradle.kts
auf Modulebene fürcompileSdk
undminSdk
die folgenden Werte fest:Groovy
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- Fügen Sie im Abschnitt
buildFeatures
Ihrerbuild.gradle
-Datei auf Modulebene die KlasseBuildConfig
ein, die verwendet wird, um auf Metadatenwerte zuzugreifen, die später in diesem Verfahren definiert werden:Groovy
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Schritt 3: API-Schlüssel zum Projekt hinzufügen
In diesem Abschnitt wird beschrieben, wie Sie Ihren API-Schlüssel speichern, damit er von Ihrer App sicherer referenziert werden kann. Er sollte nicht in Ihrem Versionsverwaltungssystem eingecheckt werden. Stattdessen empfehlen wir Ihnen, ihn im Stammverzeichnis Ihres Projekts in der Datei secrets.properties
zu speichern. Weitere Informationen zur Datei secrets.properties
finden Sie unter Gradle properties files.
Sie können das Secrets Gradle-Plug-in for Android verwenden, um diese Aufgabe zu optimieren.
So installieren Sie das Secrets Gradle-Plug-in für Android in Ihrem Google Maps-Projekt:
-
Öffnen Sie in Android Studio die Datei
build.gradle.kts
oderbuild.gradle
auf oberster Ebene und fügen Sie den folgenden Code in dasdependencies
-Element unterbuildscript
ein.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" } }
-
Öffnen Sie die Datei
build.gradle.kts
oderbuild.gradle
auf Modulebene und fügen Sie demplugins
-Element den folgenden Code hinzu.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- In der Datei
build.gradle.kts
oderbuild.gradle
auf Modulebene müssentargetSdk
undcompileSdk
auf 34 gesetzt sein. - Synchronisieren Sie Ihr Projekt mit Gradle.
-
Öffnen Sie die Datei
secrets.properties
im Verzeichnis der obersten Ebene und fügen Sie den folgenden Code ein. Ersetzen Sie dabeiYOUR_API_KEY
durch Ihren eigenen API-Schlüssel. Speichern Sie den Schlüssel in dieser Datei, dasecrets.properties
nicht in ein Versionsverwaltungssystem eingecheckt werden kann.PLACES_API_KEY=YOUR_API_KEY
-
Erstellen Sie die Datei
local.defaults.properties
im Verzeichnis der obersten Ebene, im selben Ordner wie die Dateisecrets.properties
, und fügen Sie folgenden Code ein.PLACES_API_KEY=DEFAULT_API_KEY
Diese Datei ist ein Ersatzspeicherort für den API-Schlüssel, damit Builds nicht fehlschlagen, falls die Datei
secrets.properties
nicht gefunden wird. Das kann passieren, wenn Sie die App aus einem Versionsverwaltungssystem klonen, in demsecrets.properties
nicht vorhanden ist, und noch keine lokale Dateisecrets.properties
erstellt haben, um Ihren API-Schlüssel bereitzustellen. -
Öffnen Sie in Android Studio die Datei
build.gradle.kts
oderbuild.gradle
auf Modulebene und bearbeiten Sie das Attributsecrets
. Wenn die Propertysecrets
nicht vorhanden ist, fügen Sie sie hinzu.Bearbeiten Sie die Eigenschaften des Plug-ins, um
propertiesFileName
aufsecrets.properties
,defaultPropertiesFileName
auflocal.defaults.properties
und alle anderen Eigenschaften festzulegen.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" }
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" }
Schritt 4: Places API-Client initialisieren
Initialisieren Sie das Places SDK for Android in einer Aktivität oder einem Fragment. Sie müssen zuerst entscheiden, welche Version des SDKs Sie verwenden möchten: Places SDK for Android oder Places SDK for Android (neu). Weitere Informationen zu Produktversionen finden Sie unter SDK-Version auswählen.
Im folgenden Beispiel wird gezeigt, wie das SDK für beide Versionen initialisiert wird.Places SDK for Android (neu)
Übergeben Sie den API-Schlüssel beim Aufrufen von 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 for Android
Übergeben Sie den API-Schlüssel beim Aufrufen von 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);
Sie können jetzt mit der Verwendung des Places SDK for Android beginnen.
Schritt 5: Android-Gerät einrichten
Um eine App auszuführen, in der das Places SDK for Android verwendet wird, müssen Sie sie auf einem Android-Gerät oder einem Android Emulator bereitstellen, das bzw. der auf Android 5.0 oder höher basiert und die Google APIs enthält.
- Wenn Sie ein Android-Gerät verwenden möchten, folgen Sie der Anleitung zum Ausführen von Apps auf einem Hardwaregerät: Run apps on a hardware device.
- Wenn Sie einen Android Emulator verwenden möchten, können Sie ein virtuelles Gerät erstellen und den Emulator mit dem AVD Manager für virtuelle Android-Geräte installieren, der in Android Studio enthalten ist.