Funkcje pakietu Places SDK na Androida, które są dostępne w Twojej aplikacji, zależą od kombinacji wersji pakietu SDK (np. 3.5.0), którą określisz w konfiguracji aplikacji, interfejsów API włączonych w kluczu API oraz sposobu inicjowania aplikacji. W tym przewodniku znajdziesz informacje o różnicach między wersjami oraz o tym, jak wybrać wersje włączone w aplikacji.
Numery wersji pakietu SDK
Numer wersji pakietu SDK określony w pliku build.gradle na poziomie aplikacji określa, czy aplikacja ma dostęp do funkcji dodanych w konkretnej wersji. Na przykład funkcja Autouzupełnianie (nowa) jest dostępna 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 notatkach do wersji pakietu SDK Places na Androida.
Wersje interfejsu Places API w przypadku pakietu SDK Miejsc na Androida
Oprócz podania numeru wersji pakietu SDK musisz też wybrać usługę interfejsu API Places, do której pakiety SDK wywołują w konsoli Google Cloud: interfejs API Places lub interfejs API Places (nowy). Wraz z numerem wersji pakietu SDK wybrana usługa interfejsu API określa, która wersja określonych funkcji jest dostępna w aplikacji, np. Autocomplete lub Autocomplete (nowy). Chociaż możesz określić tylko jedną wersję pakietu SDK, możesz jednocześnie włączyć interfejsy API Miejsca i Miejsca (Nowy) w kluczu API, a potem wybrać, którą usługę ma wywoływać pakiet SDK za pomocą metody, której używasz do inicjowania pakietu SDK w aplikacji. W większości przypadków warto jednak włączyć interfejs API Miejsca (Nowy) i korzystać w aplikacji z wersji (Nowy) funkcji pakietu SDK.
Wybierz wersję pakietu SDK i usługi interfejsu API
Aby wybrać funkcje pakietu SDK, które mają być dostępne w aplikacji, wykonaj te czynności:
- W projekcie Google Cloud włącz interfejs Places API, Places API (New) lub oba te interfejsy. Więcej informacji znajdziesz w artykule Włączanie interfejsów API.
- W ograniczeniach klucza interfejsu API włącz interfejs Places API, interfejs Places API (nowy) lub oba. Więcej informacji znajdziesz w artykule Ograniczanie dostępu do kluczy API.
W pliku build.gradle na poziomie aplikacji określ numer wersji. Więcej informacji znajdziesz w artykule Instalacja.
Zainicjuj aplikację, wywołując metodę
Places.initializeWithNewPlacesApiEnabled()
lubPlaces.initialize()
.
Więcej informacji o wybieraniu usługi Places API znajdziesz w artykule Konfigurowanie projektu Google Cloud.
Funkcje pakietu SDK dostępne w poszczególnych wersjach
W tabeli poniżej znajdziesz informacje o tym, które wersje pakietu SDK i interfejsu API są wymagane do korzystania z każdej funkcji pakietu SDK:
Funkcja | Interfejs Places API włączony w kluczu API | Metoda inicjalizacji | Minimalna wersja pakietu SDK |
---|---|---|---|
Autouzupełnianie (nowa wersja) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Szczegóły miejsca (nowa) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Wyszukiwanie w pobliżu (nowość) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Umieszczanie zdjęć (nowość) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Wyszukiwanie tekstu (nowa funkcja) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Autouzupełnianie miejsc | Places API | initialize() |
|
Aktualne miejsce | Places API | initialize() |
|
Szczegóły miejsca | Places API | initialize() |
|
Umieszczanie zdjęć | Places API | initialize() |
Uwagi dotyczące wyboru wersji do włączenia
Aby ułatwić sobie wybór wersji, weź pod uwagę te kwestie:
- Jeśli jesteś nowym klientem i zaczynasz korzystać z pakietu Places SDK na Androida, zacznij od interfejsu Places API (nowy) i nowego pakietu SDK.
- Jeśli jesteś obecnym klientem, możesz nadal używać dotychczasowego pakietu SDK. Aby jednak korzystać z ulepszonego działania i funkcjonalności pakietu Places SDK na Androida (nowy), należy używać nowego pakietu SDK. Przejście na nowy pakiet SDK nie wymaga migracji. Wystarczy, że wykonasz czynności opisane w sekcji Wybieranie wersji pakietu SDK i usług API.
- W pakiecie SDK Places na Androida (nowy) tokeny sesji są dostępne od wersji 3.5.0. Więcej informacji znajdziesz w artykule Tokeny sesji.
- Wywołania wykonane za pomocą widżetów Autouzupełniania miejsc zawsze wywołują Autouzupełnianie miejsc, a nie Autouzupełnianie miejsc (nowa wersja). Na wywołania widżetów nie ma wpływu metoda inicjalizacji.
- Place Photos (New) zwraca tylko identyfikator URI obrazu bitmapowego, a Place Photos zwraca tylko obraz bitmapowy.
- Obecne miejsce jest dostępne tylko w pakiecie SDK Miejsc na Androida, a nie w pakiecie SDK Miejsc na Androida (nowy).
Ulepszenia pakietu SDK Miejsc na Androida (nowość)
W tej sekcji omówiono najważniejsze funkcje dodane do pakietu Places SDK na Androida (nowy).
wdrożone na platformie standardowej Google Cloud;
Pakiet SDK Places na Androida (nowy) jest implementowany na infrastrukturze usługi w Google Cloud. Dzięki temu wdrożeniu platforma jest bezpieczniejsza i bardziej zaufana. Ta standardowa konstrukcja zapewnia spójność pakietów SDK, co zwiększa efektywność tworzenia aplikacji za pomocą pakietu Places SDK na Androida (nowy).
Poprawiona wydajność
Pakiet SDK Places na Androida (nowy) zapewnia większą wydajność, dzięki czemu warto zastąpić aplikacje korzystające z dotychczasowego pakietu SDK.
Nowe funkcje
Pakiet SDK Miejsca na Androida (nowy) zawiera najnowsze wersje wszystkich funkcji pakietu SDK:
- Autouzupełnianie (nowa wersja)
- Szczegóły miejsca (nowa)
- Wyszukiwanie w pobliżu (nowość)
- Umieszczanie zdjęć (nowość)
- Wyszukiwanie tekstu (nowa funkcja)
Nowa usługa wyszukiwania tekstowego
Wyszukiwanie tekstowe (nowość) zwraca informacje o zbiorze miejsc na podstawie ciągu znaków, np. „pizza w Nowym Jorku”, „sklepy obuwnicze w pobliżu Ottawy” lub „123 Ulica Główna”. Usługa odpowiada listą miejsc pasujących do ciągu tekstowego oraz wszelkich ustawionych preferencji lokalizacji.
nowe dane odpowiedzi dodane do szczegółów reklamy (nowa) i zdjęć reklamy (nowa);
Szczegóły miejsca (nowy) zawierają teraz nową klasę opinia w obiekcie odpowiedzi
Place
. Klasa Place zawiera nową metodęgetReviews()
, która obsługuje to pole. WywołajgetReviews()
, aby wyświetlić maksymalnie 5 opinii o danym miejscu.Place Photo (Nowość) dodaje
AuthorAttributions
do klasyPhotoMetadata
. ObiektAuthorAttributions
zawieraList
AuthorAttribution
obiektów.
Dodawanie nowej odpowiedzi w formacie URI do metody PlacePhotos (Nowa)
Teraz możesz użyć funkcji Place Photo (Nowa), aby zwrócić identyfikator URI bitmapy obrazu. Wcześniej można było zwrócić tylko samą bitmapę obrazu.
Uproszczone ceny
Dzięki pakietowi Places SDK na Androida (nowy) cennik jest uproszczony, więc płacisz tylko za dane, których używasz. Uproszczone ceny są wdrażane za pomocą list pól, zwanych też maskami pól.
W przypadku zapytań Szczegóły miejsca i Wyszukiwanie tekstu możesz użyć listy pól, aby określić, które pola mają być zwracane w odpowiedzi. Następnie naliczymy opłatę tylko za żądane dane. Korzystanie z listy pól to dobra praktyka projektowania, która pozwala uniknąć żądania niepotrzebnych danych, co pomaga uniknąć niepotrzebnego czasu przetwarzania i opłat.
Szczegółowe informacje o cenach obu pakietów SDK znajdziesz w sekcji Wykorzystanie i rozliczenia.
Rozwinięte typy miejsc
Nowy pakiet SDK dodaje typy miejsc widoczne w tabeli poniżej. Te typy są zwracane w ramach odpowiedzi na zapytanie o szczegóły miejsca i wyszukiwanie tekstowe. Z nowych typów, a także z dotychczasowych, możesz też korzystać w wyszukiwaniu tekstowym. Nowe typy znajdują się 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 | market | 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 | plac zabaw | 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 interfejs Places API (New) przeniósł te typy z tabeli 2 interfejsu Places API do tabeli A interfejsu Places API (New). Oznacza to, że możesz teraz używać tych typów w ramach wyszukiwania:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality