Выберите версию SDK

Функции 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 доступны в вашем приложении, выполните следующие действия:

  1. В своем проекте Google Cloud включите Places API, Places API (новый) или оба. Дополнительную информацию см. в разделе Включение API.
  2. В ограничениях ключей API включите Places API, Places API (новый) или оба. Дополнительную информацию см. в разделе Ограничение ключей API .
  3. В файле build.gradle уровня приложения укажите номер версии. Дополнительную информацию см. в разделе Установка .

  4. Инициализируйте свое приложение, вызвав метод 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