Wybierz wersję pakietu SDK

Pakiet Miejsca SDK na Androida w wersji 3.4.0 obsługuje 2 wersje pakietu SDK: Places SDK na Androida to istniejący pakiet SDK, a Places SDK na Androida (nowość), to nowa wersja pakietu SDK.

Po opublikowaniu pakietu SDK Miejsc Google na Androida w wersji 3.4.0 Twoim pierwszym zadaniem jest wybór odpowiedniego pakietu SDK. Dotyczy to nowych lub obecnych klientów, którzy korzystają już z pakietu SDK. Z tego przewodnika dowiesz się, jakie są główne różnice między tymi 2 pakietami SDK.

Jak wybrać wersję pakietu SDK

W backendzie pakiet Miejsca SDK na Androida korzysta z usługi Places API – Places API (nowość) lub Places API. Aby korzystać z pakietu Places SDK na Androida, musisz włączyć usługę Places API w projekcie Google Cloud.

Aby określić, których interfejsów API możesz używać w aplikacji na Androida, musisz wykonać 2 czynności:

  1. W swoim projekcie musisz włączyć interfejs Places API (nowość), Places API lub oba te elementy na kluczu interfejsu API – w zależności od tego, czego chcesz używać w aplikacji.

  2. Zainicjuj aplikację, wywołując metodę Places.initializeWithNewPlacesApiEnabled() lub Places.initialize().

Wybierz pakiet SDK

Wersja interfejsu Places API, która jest włączona, kontroluje wersję pakietu SDK używaną przez aplikację:

  • Oba: włącza wszystkie funkcje zarówno w pakiecie Places SDK na Androida, jak i pakietu SDK Miejsc na Androida (nowość). Użyj metod Places.initializeWithNewPlacesApiEnabled() i Places.initialize(), aby kontrolować dostępne funkcje.

  • Places API: włącza istniejący pakiet SDK Miejsc na Androida. Nie masz dostępu do nowych funkcji dodanych w pakiecie Places SDK na Androida w wersji 3.4.0.

  • Places API (nowość): włącza pakiet SDK Miejsc na Androida (nowy) i wszystkie nowe funkcje opisane w sekcji Kluczowe funkcje dodane do pakietu SDK Miejsc na Androida (nowe), ale nie włącza istniejących funkcji, takich jak Aktualne miejsce i Autouzupełnianie miejsc.

Więcej informacji o wybieraniu usługi Places API znajdziesz w artykule Konfigurowanie projektu Google Cloud.

Zainicjowanie aplikacji

Po zainicjowaniu aplikacji musisz wywołać metodę Places.initializeWithNewPlacesApiEnabled() lub Places.initialize().

W tabeli poniżej pokazujemy skutki włączenia poszczególnych pakietów SDK i wywołania poszczególnych metod inicjowania. Jeśli na przykład włączysz nowy pakiet SDK Miejsc i wywołasz Places.initializeWithNewPlacesApiEnabled(), możesz używać wszystkich nowych interfejsów API i wszystkich istniejących.

Po włączeniu pakietu Places SDK (nowość) i wywołaniu funkcji Places.initialize() nie będziesz mieć dostępu do nowych funkcji informacji o miejscu ani do zdjęć miejsc, ale możesz będzie wywoływać nową wyszukiwarkę tekstową. Jeśli nie włączysz Places API, nie będziesz mieć dostępu do starej wersji szczegółów miejsca, ale nadal będziesz mieć możliwość wywoływania nowej funkcji wyszukiwania tekstowego.

Wersja Interfejsy API Pakiet SDK włączony dla klucza interfejsu API Metoda inicjowania
Places API, Places API (nowość) initialize() initializeWithNewPlacesApiEnabled()
v3.3.0 Informacje o miejscach
Szczegóły miejsc (nowość)
Metadane zdjęć (nowe)
Wyszukiwanie tekstowe (nowość) Dowolna metoda
v3.4.0 Identyfikator URI zdjęcia (nowy)
Bitmapa zdjęć Dowolna metoda
CurrentPlace Dowolna metoda
Autouzupełnij Dowolna metoda

Który pakiet SDK wybierasz?

Aby zdecydować, którą wersję wybrać:

  1. Jeśli jesteś nowym klientem i dopiero zaczynasz korzystać z pakietu SDK Miejsc na Androida, zacznij od interfejsu Places API (nowego) i nowego pakietu SDK.

  2. Jeśli jesteś programistą Kotlin, możesz używać pakietu SDK, ale nowe funkcje pakietu SDK Miejsc na Androida (nowość) są dostępne tylko w języku Java w wersji 3.4.0.

  3. Jeśli jesteś obecnym klientem i korzystasz z tokenów sesji, nadal korzystaj z dotychczasowego pakietu SDK. Pakiet SDK Miejsc na Androida (nowy) nie obsługuje obecnie tokenów sesji.

  4. Jeśli jesteś obecnym klientem, możesz nadal korzystać z dotychczasowego pakietu SDK. Aby jednak korzystać z ulepszonej wydajności pakietu SDK Miejsc na Androida (nowego), możesz użyć nowej wersji pakietu SDK.

    Przejście na nowy pakiet SDK nie wymaga żadnej migracji. Wystarczy, że:

    1. Włącz interfejs Places API (nowość) w kluczu interfejsu API używanym w Twojej aplikacji. Więcej informacji znajdziesz w artykule o używaniu kluczy interfejsu API.
    2. W sekcji dependencies pliku build.gradle na poziomie modułu zaktualizuj zależność places i dodaj zależność kotlin-bom:

        dependencies {
            implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
            implementation 'com.google.android.libraries.places:places:3.3.0'
        }

      Więcej informacji na temat zależności kotlin-bom znajdziesz w artykule o używaniu najnowszej wersji kotlin-stdlib w zależnościach przechodnich.

    3. Zaktualizuj istniejącą aplikację, aby wywoływała nową metodę Places.initializeWithNewPlacesApiEnabled() w celu zainicjowania aplikacji. Więcej informacji znajdziesz w artykule Inicjowanie klienta interfejsu Places API.

    Twoje aplikacje będą nadal działać bez zmian, ale możesz korzystać ze wszystkich nowych funkcji pakietu SDK.

Najważniejsze funkcje dodane do pakietu Places SDK na Androida (nowość)

W tej sekcji omawiamy kluczowe funkcje dodane do pakietu SDK Miejsc na Androida (nowego).

Wdrożone na standardowej platformie Google Cloud

Pakiet SDK Miejsc na Androida (nowy) jest zaimplementowany w infrastrukturze usługi w Google Cloud. Taka implementacja zapewnia bezpieczną i zaufaną platformę. Ten standardowy projekt zapewnia większą spójność wszystkich pakietów SDK, co zwiększa wydajność programowania za pomocą pakietu Places SDK na Androida.

Poprawiona wydajność

Pakiet Miejsca SDK na Androida (nowy) zapewnia większą wydajność, dzięki czemu warto zastąpić aplikacje korzystające z dotychczasowego pakietu.

Nowa usługa wyszukiwania tekstowego

Wyszukiwanie tekstowe zwraca informacje o zestawie miejsc na podstawie ciągu znaków, np. „pizza w Krakowie”, „sklepy z obuwiem w pobliżu Ottawy” lub „ulica Główna 123”. W odpowiedzi usługa przedstawia listę miejsc pasujących do ciągu tekstowego i ustawione odchylenie do lokalizacji.

Nowe dane odpowiedzi zostały dodane do umieszczonych szczegółów i zdjęć miejsc

  • Funkcja Place Details zawiera teraz nową klasę Review w obiekcie Place w odpowiedzi. Klasa Place zawiera nową metodę getReviews() do obsługi tego pola. Zadzwoń pod numer getReviews(), by zwrócić maksymalnie 5 opinii o danym miejscu.

  • Zdjęcie miejsca dodaje obiekt AuthorAttributions do klasy PhotoMetadata. AuthorAttributions zawiera List obiektów AuthorAttribution.

Nowa odpowiedź URI do zdjęć miejsc

Za pomocą usługi Place Photos możesz teraz zwrócić identyfikator URI do bitmapy obrazu. Wcześniej można było zwracać tylko bitmapę obrazu.

Uproszczone ceny

Pakiet Miejsca SDK na Androida (nowość) upraszcza ustalanie cen, dzięki czemu płacisz tylko za dane, których użyjesz. Uproszczone ceny są wdrażane za pomocą list pól, zwanych też maskami pól.

W przypadku szczegółów miejsca i wyszukiwania tekstowego możesz używać list pól do kontrolowania listy pól, które mają być zwracane w odpowiedzi. Zapłacisz tylko za dane, których dotyczy żądanie. Korzystanie z listy pól to dobra metoda projektowania, która pozwala uniknąć żądań zbędnych danych, co pozwala uniknąć niepotrzebnego czasu przetwarzania i opłat.

Szczegółowe informacje o cenach obu pakietów SDK znajdziesz w artykule Korzystanie i płatności.

Rozszerzone typy miejsc

Nowy pakiet SDK dodaje typy miejsc wymienione w poniższej tabeli. Te typy są zwracane w odpowiedziach na żądania: szczegóły miejsca i wyniki wyszukiwania tekstowego. Tych nowych oraz dotychczasowych typów możesz też używać w wyszukiwaniu za pomocą wyszukiwarki tekstowej. Nowe typy znajdziesz w tabeli A.

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 gospodarstwo rolne korean_restaurant sporting_goods_store
barber_shop agroturystyka lebanese_restaurant sports_club
bed_and_breakfast fast_food_restaurant Marina sports_complex
brazilian_restaurant ferry_terminal targ steak_house
breakfast_restaurant fitness_center medical_lab sushi_restaurant
brunch_restaurant french_restaurant mediterranean_restaurant swimming_pool
bus_stop gift_shop mexican_restaurant krawiec
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
konsultant heliport playground vegetarian_restaurant
convention_center hiking_area przedszkole vietnamese_restaurant
chata historical_landmark private_guest_room visitor_center
courier_service home_improvement_store ramen_restaurant wedding_venue
cultural_center hostel resort_hotel hurtownia
dental_clinic hotel rest_stop
Wraz z nowymi typami interfejsu Places API (nowość) przenieśliśmy następujące typy z tabeli B z tabeli A. Oznacza to, że podczas wyszukiwania możesz teraz używać tych typów:
  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality