Wybierz wersję pakietu SDK

Funkcje pakietu Miejsca SDK na Androida, które są dostępne w Twojej aplikacji, zależą od kombinacji numeru wersji pakietu SDK (np. 3.5.0) określonego w konfiguracji aplikacji, interfejsów API włączonych w kluczu interfejsu API oraz sposobu zainicjowania aplikacji. W tym przewodniku wyjaśniamy różnice między wersjami oraz wybierzesz, które z nich są włączone w aplikacji.

Numery wersji pakietu SDK

Numer wersji pakietu SDK podany w pliku build.gradle na poziomie aplikacji określa, czy aplikacja ma dostęp do funkcji dodanych w konkretnej wersji. Na przykład nowe autouzupełnianie jest dostępne tylko w pakiecie SDK w wersji 3.5.0 lub nowszej.

Więcej informacji o zmianach wprowadzonych w poszczególnych wersjach pakietu SDK znajdziesz w informacjach o wersjach pakietu SDK Miejsc na Androida.

Wersje interfejsu Places API pakietu Places SDK na Androida

Oprócz określenia numeru wersji pakietu SDK musisz też wybrać usługę Places API, która jest wywoływana przez pakiet w Google Cloud Console: Places API lub Places API (nowym). Wraz z numerem wersji pakietu SDK wybrana przez Ciebie usługa interfejsu API określa, które wersje funkcji są dostępne w aplikacji, np. autouzupełnianie lub autouzupełnianie (nowość). Możesz podać tylko jeden numer wersji pakietu SDK, ale możesz jednocześnie włączyć zarówno interfejs Places API, jak i Places API (nowość) w swoim kluczu interfejsu API. Następnie możesz wybrać usługę wywoływaną przez pakiet SDK, korzystając z metody, której używasz do zainicjowania pakietu SDK w aplikacji. Jednak w większości przypadków warto włączyć (nowy) interfejs Places API i korzystać z (nowych) wersji funkcji pakietu SDK w swojej aplikacji.

Wybierz wersję pakietu SDK i usługi interfejsu API

Aby wybrać funkcje pakietu SDK dostępne w Twojej aplikacji:

  1. W swoim projekcie Google Cloud włącz interfejs Places API, Places API (nowość) lub oba te interfejsy. Więcej informacji znajdziesz w artykule o włączaniu interfejsów API.
  2. W ograniczeniach dotyczących klucza interfejsu API włącz interfejs Places API, Places API (nowy) lub oba te interfejsy. Więcej informacji znajdziesz w artykule o ograniczaniu kluczy interfejsu API.
  3. W pliku build.gradle na poziomie aplikacji podaj numer wersji. Więcej informacji znajdziesz w sekcji Instalacja.

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

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

Funkcje pakietu SDK dostępne w każdej wersji

W tabeli poniżej znajdziesz informacje o tym, które wersje pakietu SDK i interfejsu API są wymagane w przypadku poszczególnych funkcji pakietu:

Funkcja Interfejs Places API został włączony dla klucza interfejsu API Metoda inicjowania Minimalna wersja pakietu SDK
Autouzupełnianie (nowość) Places API (nowość) initializeWithNewPlacesApiEnabled() 3.5.0
Szczegóły miejsca (nowość) Places API (nowość) initializeWithNewPlacesApiEnabled() 3.3.0
Wyszukiwanie w pobliżu (nowość) Places API (nowość) initializeWithNewPlacesApiEnabled() 3.5.0
Zdjęcia miejsc (nowość) Places API (nowość) initializeWithNewPlacesApiEnabled() 3.4.0
Wyszukiwanie tekstowe (nowość) Places API (nowość) initializeWithNewPlacesApiEnabled() 3.3.0
Autouzupełnianie miejsc Places API initialize()
Obecne miejsce Places API initialize()
Szczegóły miejsca Places API initialize()
Zdjęcia miejsc Places API initialize()

Co wziąć pod uwagę przy wyborze wersji do włączenia

Aby podjąć decyzję, którą wersję wybrać, weź pod uwagę te kwestie:

  • Jeśli jesteś nowym klientem, który dopiero zaczynasz korzystać z pakietu SDK Miejsc na Androida, zacznij od interfejsu Places API (nowego) i nowego pakietu SDK.
  • Jeśli jesteś obecnym klientem, możesz nadal korzystać z obecnego pakietu SDK. Aby jednak korzystać z ulepszeń w zakresie wydajności i udoskonalonych funkcji pakietu Places SDK na Androida (nowość), należy przejść na nowy pakiet SDK. Przejście na nowy pakiet SDK nie wymaga migracji. Wystarczy, że wykonasz czynności opisane w artykule Wybieranie wersji pakietu SDK i usług API.
  • W nowym pakiecie SDK Miejsc na Androida tokeny sesji są dostępne od wersji 3.5.0. Więcej informacji znajdziesz w artykule Tokeny sesji.
  • Wywołania wykonywane za pomocą widżetów autouzupełniania miejsc zawsze wywołują funkcję Autouzupełnianie miejsca, a nie autouzupełnianie miejsca (Nowe). Metoda inicjowania nie ma wpływu na wywołania widżetu.
  • Funkcja Place Photos (Nowe) zwraca tylko identyfikator URI obrazu bitmapy, natomiast funkcja Place Photos (Zdjęcia miejsca) zwraca tylko obraz bitmapy.
  • Funkcja Obecne miejsce jest dostępna tylko w pakiecie SDK Miejsc na Androida, a nie w pakiecie Places SDK na Androida (nowym).

Ulepszenia pakietu SDK Miejsc 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 bezpieczniejszą i zaufaną platformę. Ten standardowy projekt zapewnia 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, które korzystają z dotychczasowego pakietu SDK.

Nowe funkcje

Pakiet Places SDK na Androida (nowy) zawiera najnowsze wersje wszystkich funkcji pakietu:

Nowa usługa wyszukiwania tekstowego

Wyszukiwanie tekstowe (Nowe) zwraca informacje o zestawie miejsc na podstawie ciągu znaków, np. „pizza w Krakowie”, „sklepy obuwnicze w pobliżu Krakowa” 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 szczegółowych informacji o miejscach (nowych) i zdjęć miejsc (nowość)

  • Place Details (Szczegóły miejsca) 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 (nowość) dodaje obiekt AuthorAttributions do klasy PhotoMetadata. AuthorAttributions zawiera List obiektów AuthorAttribution.

Dodano nową odpowiedź URI do zdjęć miejsc (nowość)

Możesz teraz użyć opcji Place Photo (Zdjęcie), aby zwrócić identyfikator URI do bitmapy obrazu. Wcześniej można było zwracać tylko samą bitmapę.

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ą zostać zwrócone w odpowiedzi. Zapłacisz tylko za dane, których dotyczy żądanie. Korzystanie z listy pól to dobra praktyka projektowa, by uniknąć żądania 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 i istniejących już rodzajów można też używać w wyszukiwaniu tekstowym. 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 tymi nowymi typami przenieśliśmy następujące typy z tabeli 2 dla interfejsu Places API do tabeli A interfejsu Places API (nowość). Oznacza to, że podczas wyszukiwania możesz teraz używać:

  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality