Version 3.4.0 des Places SDK for Android unterstützt zwei SDK-Versionen: Das Places SDK for Android ist das vorhandene SDK und das Places SDK for Android (New) ist die SDK-Version der nächsten Generation.
Nach der Veröffentlichung des Places SDK for Android Version 3.4.0 müssen Sie als Erstes entscheiden, welches SDK Sie verwenden möchten. Dies gilt für Neu- oder Bestandskund*innen, die das SDK bereits verwenden. In diesem Leitfaden werden die wichtigsten Unterschiede zwischen den beiden SDKs beschrieben.
So wählen Sie Ihre SDK-Version aus
Im Back-End basiert das Places SDK for Android auf dem Places API-Dienst, entweder „Places API (New)“ oder „Places API“. Bevor Sie das Places SDK for Android verwenden können, müssen Sie den Places API-Dienst in Ihrem Google Cloud-Projekt aktivieren.
Bei Android kannst du zwei Aktionen ausführen, um zu bestimmen, welche APIs du in deiner App verwenden kannst:
Je nachdem, welche Sie in Ihrer Anwendung verwenden möchten, müssen Sie in Ihrem Projekt entweder die Places API (New), die Places API oder beides für Ihren API-Schlüssel aktivieren.
Initialisieren Sie die Anwendung, indem Sie die Methode
Places.initializeWithNewPlacesApiEnabled()
oderPlaces.initialize()
aufrufen.
SDK auswählen
Von der Version des Places API-Dienstes, den Sie aktivieren, wird die von Ihrer App verwendete SDK-Version gesteuert:
Beide: Aktiviert alle Funktionen sowohl für das Places SDK for Android als auch für das Places SDK for Android (New). Verwenden Sie die Methoden
Places.initializeWithNewPlacesApiEnabled()
undPlaces.initialize()
, um die verfügbaren Features zu steuern.Places API: Das vorhandene Places SDK for Android wird aktiviert. Sie haben keinen Zugriff auf die neuen Funktionen im Places SDK for Android Version 3.4.0.
Places API (New): Hiermit werden das Places SDK for Android (New) und alle neuen Funktionen aktiviert, die unter Wichtige Funktionen des Places SDK for Android (New) beschrieben sind. Vorhandene Funktionen wie Current Place und Place Autocomplete werden jedoch nicht aktiviert.
Weitere Informationen zur Auswahl des Places API-Dienstes finden Sie unter Google Cloud-Projekt einrichten.
App initialisieren
Wenn Sie Ihre Anwendung initialisieren, müssen Sie entweder die Methode Places.initializeWithNewPlacesApiEnabled()
oder Places.initialize()
aufrufen.
In der folgenden Tabelle sehen Sie, wie sich das Aktivieren der einzelnen SDKs und das Aufrufen der einzelnen Initialisierungsmethoden auswirken. Wenn Sie beispielsweise das Places SDK (New) aktivieren und Places.initializeWithNewPlacesApiEnabled()
aufrufen, können Sie alle neuen und vorhandenen APIs verwenden.
Wenn Sie „Places SDK (New)“ aktivieren und Places.initialize()
aufrufen, können Sie die neuen Funktionen von „Place Details“ und „Place Photos“ nicht mehr nutzen, aber die neue „Text Search“ aufrufen. Wenn Sie die Places API nicht aktivieren, können Sie nicht auf die alte Version von Place Details zugreifen. Sie können aber trotzdem die neue Text Search aufrufen.
Version | APIs | SDK für API-Schlüssel aktiviert | Initialisierungsmethode | ||
---|---|---|---|---|---|
Places API | Places API (neu) | initialize() |
initializeWithNewPlacesApiEnabled() |
||
v3.3.0 | Places Details | ||||
Places Details (neu) | |||||
Fotometadaten (neu) | |||||
Text Search (New) | Beide Methoden | ||||
v3.4.0 | Foto-URI (Neu) | ||||
Foto-Bitmap | Beide Methoden | ||||
CurrentPlace | Beide Methoden | ||||
Automatische Vervollständigung | Beide Methoden |
Welches SDK wählen Sie aus?
So können Sie besser entscheiden, welche Version Sie auswählen sollten:
Wenn Sie Neukunde sind und das Places SDK for Android erst seit Kurzem verwenden, sollten Sie sich zuerst Places API (New) und das neue SDK ansehen.
Als Kotlin-Entwickler können Sie beide SDKs verwenden. Die neuen Funktionen im Places SDK for Android (New) sind jedoch nur in Java in Version 3.4.0 verfügbar.
Wenn Sie Bestandskunde sind und Sitzungstokens verwenden, nutzen Sie weiterhin das vorhandene SDK. Das Places SDK for Android (New) unterstützt derzeit keine Sitzungstokens.
Wenn Sie Bestandskunde sind, können Sie das vorhandene SDK weiterhin verwenden. Wenn Sie jedoch von den Leistungsverbesserungen und den Funktionsverbesserungen des Places SDK for Android (New) profitieren möchten, können Sie das neue SDK verwenden.
Für den Wechsel zum neuen SDK ist keine Migration erforderlich. Sie müssen nur Folgendes tun:
- Aktivieren Sie für den in Ihrer App verwendeten API-Schlüssel die Option Places API (New). Weitere Informationen finden Sie unter API-Schlüssel verwenden.
Aktualisieren Sie im Abschnitt
dependencies
der Dateibuild.gradle
auf Modulebene die Abhängigkeitplaces
und fügen Sie die Abhängigkeitkotlin-bom
hinzu:dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) implementation 'com.google.android.libraries.places:places:3.3.0' }
Weitere Informationen zur
kotlin-bom
-Abhängigkeit finden Sie unter Verwendung der neuesten kotlin-stdlib-Version in Transitiven Abhängigkeiten.- Aktualisieren Sie die vorhandene App, um die neue Methode
Places.initializeWithNewPlacesApiEnabled()
aufzurufen und damit die App zu initialisieren. Weitere Informationen finden Sie unter Places API-Client initialisieren.
Ihre vorhandenen Apps funktionieren weiterhin unverändert, Sie können jedoch jetzt alle neuen SDK-Funktionen nutzen.
Wichtige Funktionen, die dem Places SDK for Android hinzugefügt wurden (neu)
In diesem Abschnitt werden die wichtigsten Funktionen beschrieben, die dem Places SDK for Android (neu) hinzugefügt wurden.
Auf der Google Cloud-Standardplattform implementiert
Das Places SDK for Android (New) ist in der Dienstinfrastruktur in Google Cloud implementiert. Diese Implementierung sorgt für eine sicherere und vertrauenswürdigere Plattform. Dieses Standarddesign sorgt für ein gewisses Maß an Konsistenz zwischen den SDKs und verbessert dadurch die Effizienz der Entwicklung mit dem Places SDK for Android (neu).
Verbesserte Leistung
Das Places SDK for Android (New) bietet eine verbesserte Leistung, weshalb es sich lohnt, Apps zu ersetzen, in denen das vorhandene SDK verwendet wird.
Neuer „Text Search“-Dienst
Die Textsuche gibt basierend auf einem String Informationen zu verschiedenen Orten zurück, z. B. „Pizza in Hamburg“, „Schuhgeschäfte in der Nähe von Hamburg“ oder „Hauptstraße 123“. Der Dienst gibt eine Liste von Orten zurück, die dem Textstring und ggf. der festgelegten Standortgewichtung entsprechen.
Neue Antwortdaten zu Placed Details und Place Photos hinzugefügt
Place Details enthält jetzt die neue Review-Klasse im
Place
-Antwortobjekt. Die Klasse Place enthält die neue MethodegetReviews()
zur Unterstützung dieses Felds. Rufen SiegetReviews()
auf, um bis zu fünf Rezensionen für einen Ort zurückzugeben.Place Photo fügt
AuthorAttributions
zurPhotoMetadata
-Klasse hinzu.AuthorAttributions
enthält einList
mitAuthorAttribution
-Objekten.
Neue URI-Antwort zu Place Photos hinzugefügt
Sie können jetzt Place Photos verwenden, um einen URI zu einer Bild-Bitmap zurückzugeben. Bisher konnte nur die Bild-Bitmap selbst zurückgegeben werden.
Vereinfachte Preisgestaltung
Die Preisgestaltung für das Places SDK for Android (New) ist vereinfacht, sodass Sie nur für die Daten zahlen, die Sie tatsächlich nutzen. Die vereinfachte Preisgestaltung wird durch Feldlisten, auch Feldmasken genannt, implementiert.
Bei „Place Details“ und „Text Search“ verwenden Sie Feldlisten, um die Liste der Felder zu steuern, die in der Antwort zurückgegeben werden sollen. Ihnen werden dann nur die angeforderten Daten in Rechnung gestellt. Die Verwendung einer Feldliste ist eine bewährte Methode, um dafür zu sorgen, dass keine unnötigen Daten angefordert werden. So lassen sich unnötige Verarbeitungszeiten und Gebühren vermeiden.
Ausführliche Preisinformationen für beide SDKs finden Sie unter Nutzung und Abrechnung.
Erweiterte Ortstypen
Im neuen SDK werden die Ortstypen hinzugefügt, die in der folgenden Tabelle aufgeführt sind. Diese Typen werden als Teil der „Place Details“- und „Text Search“-Antworten zurückgegeben. Sie können diese neuen und die vorhandenen Typen auch in einer Suche mit Text Search verwenden. Die neuen Typen sind in Tabelle A enthalten.
Typ | |||
---|---|---|---|
american_restaurant | discount_store | ice_cream_shop | sandwich_shop |
amusement_center | dog_park | indian_restaurant | school_district |
athletic_field | electric_vehicle_charging_station | indonesian_restaurant | seafood_restaurant |
auto_parts_store | event_venue | italian_restaurant | ski_resort |
banquet_hall | extended_stay_hotel | japanese_restaurant | spanish_restaurant |
barbecue_restaurant | farm | korean_restaurant | sporting_goods_store |
barber_shop | Bauernhof | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | Marina | sports_complex |
brazilian_restaurant | ferry_terminal | Markt | steak_house |
breakfast_restaurant | fitness_center | medical_lab | sushi_restaurant |
brunch_restaurant | french_restaurant | mediterranean_restaurant | swimming_pool |
bus_stop | gift_shop | mexican_restaurant | Schneidern |
camping_cabin | golf_course | middle_eastern_restaurant | telecommunications_service_provider |
cell_phone_store | greek_restaurant | Motel | thai_restaurant |
child_care_agency | grocery_store | national_park | transit_depot |
chinese_restaurant | guest_house | park_and_ride | truck_stop |
coffee_shop | hair_salon | performing_arts_theater | turkish_restaurant |
community_center | hamburger_restaurant | pizza_restaurant | vegan_restaurant |
Berater | Hubschrauberlandeplatz | playground | vegetarian_restaurant |
convention_center | hiking_area | Vorschule | vietnamese_restaurant |
Hütte | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | Jugendherberge | resort_hotel | Großhändler |
dental_clinic | hotel | rest_stop |
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality