Funkcje pakietu Places SDK na Androida dostępne w Twojej aplikacji są określane na podstawie numeru wersji pakietu SDK (np. 3.5.0) określonego w konfiguracji aplikacji, interfejsów API włączonych w kluczu interfejsu API oraz sposobu inicjowania aplikacji. Ten przewodnik wyjaśnia różnice między wersjami i jak wybrać wersje 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 funkcje autouzupełniania są 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 dla pakietu SDK Places na Androida
Oprócz określenia numeru wersji pakietu SDK musisz też wybrać usługę Places API, którą SDK wywołuje w konsoli Google Cloud: Places API lub Places API (nową). Wybrana usługa interfejsu API wraz z numerem wersji pakietu SDK określa, która wersja określonych funkcji (np. Autouzupełnianie lub Autouzupełnianie (nowa) jest dostępna w aplikacji). Możesz określić tylko jeden numer wersji pakietu SDK, ale możesz jednocześnie włączyć w kluczu interfejsu Places API i Places API (nową) usługę, a potem wybrać metodę, którą chcesz wywołać SDK w aplikacji. Jednak w większości przypadków warto włączyć interfejs Places API (nową) i użyć (nowych) funkcji pakietu SDK w 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 (nowy) lub oba te interfejsy. Więcej informacji znajdziesz w artykule o włączaniu interfejsów API.
- W ograniczeniach klucza interfejsu API włącz Places API, Places API (nowy) lub oba te elementy. Więcej informacji znajdziesz w artykule na temat ograniczania 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 poszczególnych wersjach
W tabeli poniżej podano, które wersje pakietu SDK i interfejsu API są wymagane w przypadku poszczególnych funkcji pakietu SDK:
Funkcja | Interfejs Places API został włączony w kluczu interfejsu API | Metoda inicjowania | Minimalna wersja pakietu SDK |
---|---|---|---|
Autouzupełnianie (nowość) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Szczegóły miejsca (nowe) | 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() |
|
Aktualne miejsce | Places API | initialize() |
|
Szczegóły miejsca | Places API | initialize() |
|
Zdjęcia miejsc | Places API | initialize() |
Uwagi dotyczące wyboru wersji do włączenia
Aby zdecydować, którą wersję wybrać, weź pod uwagę te kwestie:
- Jeśli jesteś nowym klientem, który dopiero zaczyna korzystać z pakietu SDK Miejsc na Androida, zacznij od nowego interfejsu Places API i nowego pakietu SDK.
- Jeśli jesteś obecnym klientem, możesz dalej korzystać z obecnego pakietu SDK. Aby jednak skorzystać z udoskonaleń w zakresie wydajności i funkcji pakietu SDK Miejsc na Androida (nowego), należy użyć nowego pakietu SDK. Przy przejściu na nowy pakiet SDK nie musisz przeprowadzać migracji. Wystarczy wykonać czynności opisane w artykule Wybieranie wersji pakietu SDK i usług interfejsu API.
- Tokeny sesji w pakiecie Places SDK na Androida (nowość) są dostępne od wersji 3.5.0. Więcej informacji znajdziesz w artykule Tokeny sesji.
- Połączenia wykonywane z użyciem widżetów autouzupełniania miejsc zawsze wywołują funkcję Autouzupełnianie miejsca, a nie Autouzupełnianie miejsc (nowe). Metoda inicjowania nie ma wpływu na wywołania widżetów.
- Place Photos (New) (Zdjęcia miejsc – nowa) zwraca identyfikator URI obrazu bitmapy, a Place Photos (Zdjęcia miejsc) tylko bitmapę.
- Opcja Aktualne miejsce jest dostępna tylko w pakiecie SDK Miejsc na Androida, a nie w pakiecie Places SDK na Androida (nowość).
Ulepszenia pakietu SDK Miejsc na Androida (nowość)
W tej sekcji omawiamy najważniejsze funkcje dodane do pakietu SDK Miejsc na Androida (nowość).
Wdrożony na standardowej platformie Google Cloud
Pakiet Places SDK na Androida (nowość) został zaimplementowany w infrastrukturze usług w Google Cloud. Ta implementacja zapewnia bezpieczniejszą i bezpieczniejszą platformę. Taka standardowa konstrukcja zapewnia pewien poziom spójności między pakietami SDK, co zwiększa wydajność programowania przy użyciu pakietu Places SDK na Androida (nowość).
Poprawiona wydajność
Pakiet Places SDK na Androida (nowość) zapewnia większą wydajność, dlatego warto zastąpić aplikacje, które korzystają z dotychczasowego pakietu SDK.
Nowe funkcje
Pakiet Places SDK na Androida (nowość) zawiera najnowsze wersje wszystkich funkcji pakietu SDK:
- Autouzupełnianie (nowość)
- Szczegóły miejsca (nowe)
- Wyszukiwanie w pobliżu (nowość)
- Zdjęcia miejsc (nowość)
- Wyszukiwanie tekstowe (nowość)
Nowa usługa wyszukiwania tekstowego
Wyszukiwanie tekstowe (nowość) zwraca informacje o zestawie miejsc na podstawie ciągu znaków, na przykład „pizza w Warszawie”, „sklepy obuwnicze w pobliżu Ottawy” lub „ul. Główna 123”. W odpowiedzi usługa przesyła listę miejsc pasujących do ciągu tekstowego i wszelkie ustawione uprzedzenia dotyczące lokalizacji.
Dodaliśmy nowe dane odpowiedzi do szczegółów miejsc (nowość) i zdjęć miejsc (nowość)
Place Details (Nowość) teraz zawiera nową klasę Review w obiekcie
Place
odpowiedzi. Klasa Place zawiera nową metodęgetReviews()
obsługującą to pole. Zadzwoń pod numergetReviews()
, aby przesłać do 5 opinii o danym miejscu.Place Photo (Nowe zdjęcie) – dodaje
AuthorAttributions
do klasyPhotoMetadata
.AuthorAttributions
zawieraList
zAuthorAttribution
obiektów.
Dodano nową odpowiedź URI do Zdjęć miejsc (nowość)
Możesz teraz używać funkcji Place Photo (Nowe zdjęcie), aby zwracać identyfikator URI do bitmapy obrazu. Wcześniej możliwy był tylko wynik samej mapy bitowej obrazu.
Uproszczone ustalanie cen
W przypadku nowego pakietu SDK Miejsc na Androida ceny są upraszczane, dzięki czemu płacisz tylko za dane, z których korzystasz. Uproszczone ustalanie cen jest wdrażane za pomocą list pól, nazywanych też maskimi pól.
W przypadku informacji o miejscu i wyszukiwania tekstowego korzystasz z list pól do kontrolowania listy pól, które mają zwrócić odpowiedzi. Opłaty są naliczane tylko za dane, których dotyczy żądanie. Korzystanie z listy pól to sprawdzona metoda projektowania, dzięki której nie żądasz 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 rozliczenia.
Rozszerzone typy miejsc
Nowy pakiet SDK dodaje typy miejsc podane w tabeli poniżej. Te typy są zwracane w odpowiedziach „Szczegóły miejsca” i „Wyszukiwanie tekstowe”. Tych nowych i dotychczasowych typów możesz też używać w wyszukiwaniu tekstowym. Nowe typy zostały uwzględnione 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 |
Oprócz tych nowych typów interfejs Places API (nowość) przeniósł następujące typy z tabeli 2 w przypadku interfejsu Places API do tabeli A dla interfejsu Places API (nowego). Oznacza to, że w ramach wyszukiwania możesz teraz korzystać z następujących typów:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality