Руководство по внедрению дополненных транзакций

Обзор

API: веб, , iOS

Платформа Google Карт совместима как с веб-приложениями (JS, TS), так и с приложениями для Android и iOS. Кроме того, она предоставляет API веб-сервисов для получения сведений о местах, маршрутах и расстояниях. В этом руководстве содержатся примеры для одной платформы, а для остальных приводятся ссылки на документацию по внедрению.

Выписки о транзакциях часто выглядят так, что пользователям непросто в них разобраться. Например, название компании Acme Houseware в выписке может быть указано как ACMEHCORP. В результате повышается число обращений в службу поддержки и возникают споры с клиентами, приводящие к убыткам. Дополненные транзакции –это набор улучшений, позволяющих показывать полное название компании-продавца, область ее деятельности, фотографию магазина, адрес и положение на карте, контактную информацию и т. д. Пользователям будет проще и удобнее просматривать выписку, они будут проводить больше времени в вашем приложении, а вы будете получать меньше звонков в службу поддержки и повысите лояльность покупателей.

В этот статье приводятся рекомендации о том, как с помощью различных API платформы Google Карт оптимально реализовать улучшения, которые сделают историю транзакций удобнее для пользователей. Дополненными транзакциями мы называем совокупность этих функций. В руководстве по внедрению показано, как найти местоположение, соответствующее определенной компании, и показать о ней подробные сведения.

Примеры экранов приложения с дополненными транзакциями
Примеры экранов приложения с дополненными транзакциями. Нажмите на рисунок, чтобы увеличить его.

Включение API

Чтобы реализовать дополненные транзакции, необходимо включить в Google Cloud Console указанные ниже API. Следующие ссылки позволяют перейти на страницы Google Cloud Console, где можно включить эти API для выбранного проекта:

Подробная информация приведена в статье Начало работы с платформой Google Карт.

Разделы руководства по внедрению

Ниже перечислены рекомендации, рассматриваемые в этой статье.

  • Флажком отмечены основные рекомендации.
  • Звездочкой отмечены второстепенные рекомендации, которые открывают дополнительные возможности.
Поиск информации о продавце с помощью платформы Google Карт Связывайте сведения о торговцах в истории транзакций с данными о местах в платформе Google Карт.
Показ сведений о продавце Дополняйте сведения о транзакции важными подробностями, которые помогут пользователю вспомнить обстоятельства покупки.
Добавление карты Добавьте в приложение карту, где будет показываться местоположение продавца.

Поиск информации о продавце с помощью платформы Google Карт

Используется в примере: Places API

На приведенной ниже схеме показано, как приложение получает данные о месте, соответствующем транзакции. Эти сведения находятся либо по идентификатору из существующей базы данных продавцов, либо с помощью запроса поиска мест.

Схема процесса получения данных о продавце
Схема процесса получения данных о продавце. Нажмите на рисунок, чтобы увеличить его.

Получение идентификаторов мест для платформы Google Карт

Возможно, у вас есть база данных с основными сведениями о продавцах, такими как название и адрес. Из платформы Google Карт вы можете получать более подробную информацию (в том числе контактные данные и добавленный пользователями контент). Для этого нужно указывать идентификаторы мест в платформе Google Карт, соответствующие продавцам из вашей базы данных.

Чтобы получить идентификатор места, соответствующий компании, отправьте запрос в конечную точку Places API /findplacefromtext. Запросите только поле place_id, чтобы вызов был бесплатным. Если у продавца несколько филиалов, то помимо названия продавца укажите город или улицу. Качество возвращаемых данных может быть разным, поэтому нужно проверять, соответствует ли результат искомому продавцу.

Вот пример запроса, получающего идентификатор места для офиса Google в Тайбэе по названию продавца и городу:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=google%20taipei&inputtype=textquery&fields=place_id&key=YOUR_API_KEY

Обязательно выполняйте кодирование URL в таких запросах API.

Сохранение идентификаторов мест

Чтобы сохранить информацию о продавце из платформы Google Карт для дальнейшего использования, вы можете навсегда сохранить идентификатор места в своей базе данных в качестве атрибута записи о продавце. Так вам не придется выполнять запрос поиска мест повторно для одного и того же продавца. Впрочем, вы можете искать идентификатор места каждый раз, когда пользователь запрашивает сведения о транзакции.

Чтобы поддерживать актуальность информации в своей базе данных, обновляйте идентификаторы мест каждые 12 месяцев с помощью запроса информации о месте с параметром place_id.

Рекомендуем добавить в приложение функции обратной связи, чтобы в случаях, когда показывается неправильная информация о продавце, пользователь мог сообщить вам об этом.

Показ сведений о продавце

Используется в примере: Places API Также доступно: Places SDK для Android | Places SDK для iOS | Places Library, Maps JavaScript API

Вы можете предоставлять пользователям полезную информацию о своих офисах или магазинах. Показывайте в своем приложении подробную информацию о местах из истории транзакций пользователя: например, контактные данные, часы работы, пользовательские оценки и фотографии. Получив сведения о месте с помощью вызова Places API, вы можете отфильтровать полученную информацию и показать ее в окне приложения, на боковой панели сайта или любым другим способом.

Пример экрана с информацией о продавце
Пример экрана с информацией о продавце. Нажмите на рисунок, чтобы увеличить его.

Запрашивая информацию о местах, необходимо указывать их идентификаторы. О том, как получить идентификатор места, рассказывается в этом разделе.

Следующий запрос возвращает адрес, координаты, URL сайта, номер телефона, оценку и часы работы тайбэйского офиса Google в формате json:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJraeA2rarQjQRyAqIxkx2vN8&fields=name%2Cformatted_address%2Cwebsite%2Cformatted_phone_number%2Cgeometry/location%2Cicon%2Copening_hours%2Crating&key=YOUR_API_KEY

Добавление карты

Используется в примере: Geocoding API | Maps Static API Также доступно: Android | iOS

Определение местоположения продавца

Maps Static API позволяет поставить маркер на карте, указав координаты или адрес места. Если в вашей базе данных уже есть адрес продавца, можете сразу перейти к следующему разделу инструкций. Однако мы рекомендуем использовать не адрес, а координаты, чтобы позиционирование было более точным.

Если в вашей базе данных есть адреса продавцов, но нет географических координат, и вы не выполняете запросы данных о месте, то вы можете преобразовывать адреса в координаты с помощью Geocoding API на стороне сервера, сохранять эти координаты в своей базе данных и обновлять их хотя бы раз в 30 дней.

В этом примере мы с помощью Geocoding API получаем широту и долготу по идентификатору места для офиса Google в Тайбэе:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJraeA2rarQjQRyAqIxkx2vN8&key=YOUR_API_KEY

Добавление на карту маркера, указывающего местоположение продавца

Поскольку пользователи не будут ничего искать на карте (она нужна только для того, чтобы увидеть, где произошла транзакция), имеет смысл ограничить ее интерактивные функции.

На сайтах для компьютеров и мобильных устройств создавайте URL Maps Static API с одним маркером по адресу или координатам продавца. Обратившись к Maps Static API с помощью вызова веб-сервиса, вы можете получить изображение карты с указанными параметрами. Инструкции для мобильных приложений приведены в следующем разделе.

Приведенный ниже вызов получает изображение карты размером 640 x 480 пикселей с масштабом по умолчанию и центровкой на маркере тайбэйского офиса Google. Этот запрос также определяет красный цвет маркера и задает облачный стиль карты.

    https://maps.googleapis.com/maps/api/staticmap?size=640x480&markers=color:red%7C25.033976%2C121.5645389&map_id=b224095f76859890&key=YOUR_API_KEY&signature=BASE64_SIGNATURE=

Вот как заданы эти параметры:

URL API https://maps.googleapis.com/maps/api/staticmap?
Размер изображения size=640x480
Маркеры местоположения продавцакодированием URL) markers=color:red%7C25.033976%2C121.5645389
Облачный стиль карты map_id=b224095f76859890
Ключ API key=YOUR_API_KEY
Цифровая подпись (как добавить цифровую подпись в запрос) signature=BASE64_SIGNATURE

Вот как будет выглядеть результат:

Статическое изображение карты, где отмечен офис Google в Тайбэе

Позицию маркера также можно задать с помощью адреса:

https://maps.googleapis.com/maps/api/staticmap?size=640x480&markers=color:green%7CTaipei%20101%20Tower%2CNo.%207信義路五段信義區台北市%20Taiwan%20110&map_id=b224095f76859890&key=AIzaSyBYQA7wGUSMprUOyAADiOv5DcENtB0FFKU&signature=6wn_pRDrV_KNfch27mD2BW4zseo=

Полный список параметров доступен в документации Maps Static API.

Добавление карты в мобильное приложение

Если вы используете Maps SDK для Android или Maps SDK для iOS, вы можете поставить маркер по координатам, полученным с помощью запроса информации о месте.

Поскольку пользователи не будут ничего искать на карте (она нужна только для того, чтобы увидеть место транзакции), выберите карту с ограниченными интерактивными функциями.