Правила для Places SDK для Android

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

Предоставление условий использования и политики конфиденциальности

Если вы разрабатываете приложение Places SDK для Android, вы должны предоставить Условия использования и Политику конфиденциальности вместе с вашим приложением, которые соответствуют рекомендациям, изложенным в вашем Соглашении с Google:

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

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

Мобильные приложения

При разработке мобильного приложения рекомендуется разместить ссылку на Условия использования и Политику конфиденциальности на странице загрузки вашего приложения в соответствующем магазине приложений и в меню настроек приложения.

Веб-приложения

При разработке веб-приложения рекомендуется предоставить ссылку на Условия использования и Политику конфиденциальности в нижнем колонтитуле вашего веб-сайта.

Предварительная загрузка, кэширование или хранение контента

Приложения, использующие Places SDK для Android, подчиняются условиям вашего соглашения с Google. В соответствии с условиями вашего Соглашения вы не имеете права предварительно загружать, индексировать, хранить или кэшировать какой-либо Контент, за исключением ограниченных условий, указанных в условиях.

Обратите внимание, что идентификатор места , используемый для уникальной идентификации места, не подпадает под ограничения кэширования . Идентификатор места возвращается в поле place_id в ответах Places SDK для Android. Узнайте, как сохранять, обновлять идентификаторы мест и управлять ими, в руководстве по идентификаторам мест .

Отображение результатов Places SDK для Android

Вы можете отображать результаты Places SDK для Android на карте Google или без карты. Если вы хотите отображать результаты Places SDK для Android на карте, эти результаты должны отображаться на карте Google. Запрещено использовать данные Places SDK для Android на карте, которая не является картой Google.

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

Если ваше приложение отображает данные на странице или в представлении, которые также не отображают карту Google, вы должны показать логотип Google с этими данными. Например, если ваше приложение отображает данные Google на одной вкладке, а карта Google с этими данными — на другой вкладке, на первой вкладке должен отображаться логотип Google. Если ваше приложение использует поля поиска с автозаполнением или без него, логотип должен отображаться внутри.

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

размещение политики атрибуции

Следующий ZIP-файл содержит логотип Google в размерах, подходящих для приложений для настольных компьютеров, Android и iOS. Вы не можете каким-либо образом изменять размер или модифицировать эти логотипы.

Скачать: google_logo.zip

Не изменяйте атрибуцию. Не удаляйте, не скрывайте и не вырезайте информацию об авторстве. Вы не можете использовать встроенные логотипы Google (например, «Эти карты взяты из [Google_logo]»).

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

Включите сторонних поставщиков данных. Некоторые данные и изображения в наших картографических продуктах получены не от Google, а от других поставщиков. При использовании таких изображений в тексте вашего указания должно быть указано имя «Google» и соответствующий поставщик(и) данных, например «Картографические данные: Google, Maxar Technologies». Если в изображениях упоминаются сторонние поставщики данных, включение только слова «Google» или логотипа Google не является надлежащей атрибуцией.

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

Другие требования к атрибуции

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

Получение атрибуции из места

Если ваше приложение отображает информацию, полученную путем вызова getplace by ID , оно также должно отображать сторонние атрибуции для полученных сведений о месте.

API возвращает объект Place . Чтобы получить атрибуции из объекта Place , вызовите Place.getAttributions() . Метод возвращает List объектов String или значение NULL, если нет атрибутов для отображения.

String placeId = "INSERT_PLACE_ID_HERE";
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
  Place place = response.getPlace();
  textView.append("Place found: " + place.getName());
  List<String> attributions = place.getAttributions();
  if (attributions != null) {
    StringBuilder stringBuilder = new StringBuilder("Attributions: ");
    for (String attribution : attributions) {
      stringBuilder.append(attribution).append("\n");
    }
    textView.append(stringBuilder.toString());
  }}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
      // Handle the error.
    }
  }
);

Отображение авторства фотографии

Если ваше приложение отображает фотографии мест, вы должны указать авторство каждой фотографии, на которой они есть. PhotoMetadata может содержать один из двух типов атрибуции:

Чтобы получить строковые атрибуты фотографии, вызовите PhotoMetadata.getAttributions() . Метод возвращает последовательность символов HTML или пустую строку, если нет атрибутов для отображения.

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the attribution text.
String attributions = photoMetadata.getAttributions();

Чтобы получить сведения об авторе фотографии, вызовите PhotoMetadata.getAuthorAttributions() . Метод возвращает объект AuthorAttributions . Этот объект содержит List объектов AuthorAttribution , по одному на каждого автора.

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the author attributions object.
AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions();
List<AuthorAttribution> authorAttributionList = authorAttributions.asList();

Атрибуция результатов поиска

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

Заголовок: Об этих результатах

Текст: Когда вы ищете компании или места рядом с определенным местоположением, Карты Google покажут вам местные результаты. Несколько факторов — в первую очередь релевантность, расстояние и известность — объединяются, чтобы помочь найти наилучшие результаты для вашего поиска.

Кнопка 1: Узнать больше
Текст «Подробнее» должен ссылаться на статью Справочного центра .

Кнопка 2: ОК

Показать обзор

Объект Place может содержать до пяти обзоров, каждый из которых представлен объектом Review . При желании вы можете отображать эти отзывы в своем приложении.

При отображении обзоров, оставленных пользователями Google, необходимо размещать имя автора в непосредственной близости. Если это доступно в поле указания автора объекта Review , мы рекомендуем вам также включить фотографию автора и ссылку на его профиль. На следующем изображении показан пример обзора парка:

Отображение указания автора

Google также рекомендует показывать конечному пользователю, как сортируются отзывы.

Чтобы получить доступ к отзывам, вызовите Place.getReviews() :

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    List<Review> reviews = place.getReviews();
    // For loop for iterating over the List
    for (int i = 0; i < reviews.size(); i++) {
      // For each review, get the Review object.
        Review placeReview = reviews.get(i);

      // Get any attribution and author attribution.
        String reviewAttribution = placeReview.getAttribution();
        AuthorAttribution authorAttribution = placeReview.getAuthorAttribution();

        // Display the review contents and attributions as necessary.
    }
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

Отображение сторонних источников авторства

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

API генерирует атрибуцию для всех мест, которые использует приложение. Атрибуция предоставляется для каждого вызова API, а не для каждого места.

Один из способов отображения атрибуции — использование TextView . Например:

TextView attributionsText = (TextView) findViewById(R.id.attributions);
String thirdPartyAttributions = place.getAttributions();
attributionsText.setText(thirdPartyAttributions);

Пример сторонней атрибуции

Listings by <a href="https://www.example.com/">Example Company</a>

Рекомендации по стилю для атрибуции Google

Ниже приведены рекомендации по стилю атрибутов Google в CSS и HTML, если вы не можете использовать загружаемый логотип Google.

Освободить пространство

Объем свободного пространства вокруг блокировки должен быть равен или превышать высоту буквы «G» в Google.

Пространство между копией указания авторства и логотипом Google должно составлять половину ширины буквы G.

Разборчивость

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

Цвет

Используйте текст Google Material Grey 700 на белом или светлом фоне с максимальным оттенком черного в диапазоне 0–40%.

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

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

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Шрифт

Используйте шрифт Roboto .

Пример CSS

Следующий код CSS, примененный к тексту «Google», отобразит «Google» с соответствующим шрифтом, цветом и интервалом на белом или светлом фоне.

font-family: Roboto;
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 16px;
padding: 16px;
letter-spacing: 0.0575em; /* 0.69px */
color: #5F6368;