SDK-Version auswählen

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:

  1. 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.

  2. Initialisieren Sie die Anwendung, indem Sie die Methode Places.initializeWithNewPlacesApiEnabled() oder Places.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() und Places.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:

  1. 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.

  2. 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.

  3. Wenn Sie Bestandskunde sind und Sitzungstokens verwenden, nutzen Sie weiterhin das vorhandene SDK. Das Places SDK for Android (New) unterstützt derzeit keine Sitzungstokens.

  4. 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:

    1. 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.
    2. Aktualisieren Sie im Abschnitt dependencies der Datei build.gradle auf Modulebene die Abhängigkeit places und fügen Sie die Abhängigkeit kotlin-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.

    3. 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 Methode getReviews() zur Unterstützung dieses Felds. Rufen Sie getReviews() auf, um bis zu fünf Rezensionen für einen Ort zurückzugeben.

  • Place Photo fügt AuthorAttributions zur PhotoMetadata-Klasse hinzu. AuthorAttributions enthält ein List mit AuthorAttribution-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
Neben diesen neuen Typen hat die Places API (New) die folgenden Typen aus Tabelle B aus Tabelle A verschoben. Das bedeutet, dass Sie jetzt diese Typen als Teil einer Suche verwenden können:
  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality