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:
- 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.
- 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.
W pliku build.gradle na poziomie aplikacji podaj numer wersji. Więcej informacji znajdziesz w sekcji Instalacja.
Zainicjuj aplikację, wywołując metodę
Places.initializeWithNewPlacesApiEnabled()
lubPlaces.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:
- Autouzupełnianie (nowość)
- Szczegóły miejsca (nowość)
- Wyszukiwanie w pobliżu (nowość)
- Zdjęcia miejsc (nowość)
- Wyszukiwanie tekstowe (nowość)
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 numergetReviews()
, by zwrócić maksymalnie 5 opinii o danym miejscu.Zdjęcie miejsca (nowość) dodaje obiekt
AuthorAttributions
do klasyPhotoMetadata
.AuthorAttributions
zawieraList
obiektówAuthorAttribution
.
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