Функции Places SDK для Android, доступные в вашем приложении, определяются комбинацией номера версии SDK (например, 3.5.0), указанного вами в конфигурации приложения, API, включенных в вашем ключе API, и способа инициализации приложения. . В этом руководстве объясняются различия между версиями и способы выбора версий, которые будут включены в вашем приложении.
Номера версий SDK
Номер версии SDK, который вы указываете в файле build.gradle на уровне приложения, определяет, имеет ли ваше приложение доступ к функциям, которые были добавлены в определенном выпуске. Например, функция автозаполнения (новая) доступна только в SDK версии 3.5.0 или более поздней.
Дополнительную информацию об изменениях, внесенных в каждую версию SDK, см. в примечаниях к выпуску Places SDK для Android .
Версии Places API для Places SDK для Android
Помимо указания номера версии SDK, вам также необходимо выбрать службу Places API, которую SDK вызывает в Google Cloud Console: либо Places API, либо Places API (новый). Вместе с номером версии SDK выбранная вами служба API определяет, какая версия определенных функций доступна в вашем приложении, например автозаполнение или автозаполнение (новая). Хотя вы можете указать только один номер версии SDK, вы можете одновременно включить Places API и Places API (новый) для своего ключа API, а затем выбрать, какую службу вызывает SDK, с помощью метода, который вы используете для инициализации SDK в ваше приложение. Однако в большинстве случаев вам потребуется включить Places API (новый) и использовать (новые) версии функций SDK в своем приложении.
Выберите версию SDK и сервисы API.
Чтобы выбрать, какие функции SDK доступны в вашем приложении, выполните следующие действия:
- В своем проекте Google Cloud включите Places API, Places API (новый) или оба. Дополнительную информацию см. в разделе Включение API.
- В ограничениях ключей API включите Places API, Places API (новый) или оба. Дополнительную информацию см. в разделе Ограничение ключей API .
В файле build.gradle уровня приложения укажите номер версии. Дополнительную информацию см. в разделе Установка .
Инициализируйте свое приложение, вызвав метод
Places.initializeWithNewPlacesApiEnabled()
илиPlaces.initialize()
.
Дополнительную информацию о выборе службы Places API см. в разделе Настройка проекта Google Cloud .
Функции SDK, доступные в каждой версии
В следующей таблице показано, какие версии SDK и API необходимы для каждой функции SDK:
Особенность | Включает API мест для ключа API | Метод инициализации | Минимальная версия SDK |
---|---|---|---|
Автозаполнение (новое) | API мест (новое) | initializeWithNewPlacesApiEnabled() | 3.5.0 |
Детали места (новое) | API мест (новое) | initializeWithNewPlacesApiEnabled() | 3.3.0 |
Поиск поблизости (новинка) | API мест (новое) | initializeWithNewPlacesApiEnabled() | 3.5.0 |
Фотографии мест (новинка) | API мест (новое) | initializeWithNewPlacesApiEnabled() | 3.4.0 |
Текстовый поиск (новинка) | API мест (новое) | initializeWithNewPlacesApiEnabled() | 3.3.0 |
Разместить автозаполнение | API мест | initialize() | |
Текущее место | API мест | initialize() | |
Детали места | API мест | initialize() | |
Фотографии мест | API мест | initialize() |
Рекомендации по выбору версий для включения
Чтобы решить, какую версию выбрать, учтите следующее:
- Если вы новый клиент и только начинаете работать с Places SDK для Android, начните с Places API (нового) и нового SDK.
- Если вы уже являетесь клиентом, вы можете продолжать использовать существующий SDK. Однако, чтобы воспользоваться преимуществами повышения производительности и расширения функций Places SDK для Android (новая версия), вам следует использовать новый SDK. При переходе на новый SDK миграция не требуется, просто следуйте инструкциям в разделе «Выбор версии SDK и служб API» .
- В Places SDK для Android (новая версия) токены сеанса доступны начиная с версии 3.5.0. Дополнительные сведения см. в разделе Токены сеанса .
- Вызовы, выполняемые с помощью виджетов Place Autocomplete, всегда вызывают Place Autocomplete , а не Place Autocomplete (New); на вызовы виджетов не влияет метод инициализации.
- Place Photos (новое) возвращает только URI растрового изображения, а Place Photos возвращает только растровое изображение.
- Текущее место доступно только в Places SDK для Android, но не в Places SDK для Android (новая версия).
Улучшения в Places SDK для Android (новинка)
В этом разделе описаны ключевые функции, добавленные в Places SDK для Android (новинка).
Реализовано на стандартной платформе Google Cloud.
Places SDK для Android (новинка) реализован в инфраструктуре сервиса Google Cloud. Эта реализация обеспечивает более безопасную и надежную платформу. Этот стандартный дизайн обеспечивает уровень согласованности между SDK, что повышает эффективность разработки с помощью Places SDK для Android (новая версия).
Улучшенная производительность
Places SDK для Android (новый) обеспечивает повышенную производительность, поэтому стоит заменить приложения, использующие существующий SDK.
Новые возможности
Places SDK для Android (новинка) включает в себя последние версии всех функций SDK:
- Автозаполнение (новое)
- Детали места (новое)
- Поиск поблизости (новинка)
- Фотографии мест (новинка)
- Текстовый поиск (новинка)
Новый сервис текстового поиска
Текстовый поиск (новое) возвращает информацию о наборе мест на основе строки — например, «пицца в Нью-Йорке», «обувные магазины недалеко от Оттавы» или «Мейн-стрит, 123». Служба отвечает списком мест, соответствующих текстовой строке, и любым установленным смещениям местоположения.
Новые данные ответов добавлены в раздел «Сведения о размещении» (новое) и «Фотографии места» (новое).
Сведения о месте (новое) теперь включают в объект ответа
Place
новый класс Review . Класс Place содержит новый методgetReviews()
для поддержки этого поля. ВызовитеgetReviews()
чтобы получить до пяти отзывов о месте.Place Photo (New) добавляет
AuthorAttributions
в классPhotoMetadata
.AuthorAttributions
содержитList
объектовAuthorAttribution
.
Добавлен новый ответ URI в Place Photos (новое)
Теперь вы можете использовать Place Photo (New) для возврата URI к растровому изображению. Раньше можно было вернуть только растровое изображение.
Упрощенное ценообразование
Благодаря Places SDK для Android (новая версия) ценообразование упрощается, поэтому вы платите только за те данные, которые используете. Упрощенное ценообразование реализуется с помощью списков полей, также называемых масками полей .
При использовании сведений о месте и текстового поиска вы используете списки полей для управления списком полей, возвращаемых в ответе. В этом случае вам будет выставлен счет только за запрошенные данные. Использование списка полей — это хорошая практика проектирования, позволяющая избежать запроса ненужных данных, что помогает избежать ненужного времени обработки и затрат на выставление счетов.
Подробную информацию о ценах на оба SDK см. в разделе «Использование и выставление счетов» .
Расширенные типы мест
Новый SDK добавляет типы мест, показанные в следующей таблице. Эти типы возвращаются как часть ответа о месте и текстовом поиске. Вы также можете использовать эти новые и существующие типы при поиске с помощью текстового поиска. Новые типы включены в Таблицу А.
Тип | |||
---|---|---|---|
американский_ресторан | скидка_магазин | Ice_cream_shop | сэндвич_магазин |
центр развлечений | собака_парк | индийский_ресторан | школьный_район |
спортивное_поле | electric_vehicle_charging_station | индонезийский_ресторан | ресторан_морепродуктов |
auto_parts_store | событие_место проведения | итальянский_ресторан | лыжный_курорт |
банкетный_зал | расширенный_отель_отель | японский_ресторан | испанский_ресторан |
барбекю_ресторан | ферма | корейский_ресторан | магазин_спортивных_товаров |
парикмахерская | проживание на ферме | lebanese_restaurant | спортивный_клуб |
кровать_и_завтрак | fast_food_restaurant | пристань для яхт | спортивный_комплекс |
бразильский_ресторан | паромный_терминал | рынок | стейк_хаус |
завтрак_ресторан | фитнес_центр | медицинская_лаборатория | суши_ресторан |
бранч_ресторан | французский_ресторан | средиземноморский_ресторан | бассейн |
автобусная_остановка | магазин подарков | мексиканский_ресторан | портной |
кемпинг_кабина | поле для гольфа | middle_eastern_restaurant | поставщик_телекоммуникационных_услуг |
cell_phone_store | греческий_ресторан | мотель | тайский_ресторан |
child_care_agency | продуктовый магазин | национальный_парк | транзит_депо |
китайский_ресторан | гостевой дом | park_and_ride | грузовик_стоп |
кофейный магазин | парикмахерский_салон | театр_исполнительского_искусства | турецкий_ресторан |
центр_сообщества | гамбургер_ресторан | пицца_ресторан | веганский_ресторан |
консультант | вертолетная площадка | детская площадка | вегетарианский_ресторан |
конференц-центр | зона походов | дошкольный | вьетнамский_ресторан |
коттедж | исторический_ориентир | Private_guest_room | посетитель_центр |
курьерская_служба | home_improvement_store | ramen_restaurant | свадьба_место проведения |
культурный_центр | общежитие | курорт_отель | оптовик |
стоматологическая_клиника | отель | rest_stop |
Наряду с этими новыми типами API Places (новый) переместил следующие типы из таблицы 2 API Places в таблицу A API Places (новый). Это означает, что теперь вы можете использовать эти типы как часть поиска:
-
country
-
administrative_area_level_1
-
administrative_area_level_2
-
postal_code
-
locality