Políticas del SDK de Places para Android

En este tema, se proporcionan los requisitos de atribución para todas las aplicaciones desarrolladas con el SDK de Places para Android, incluido el servicio Place Autocomplete que forma parte de esa API. Para conocer más condiciones de Google Maps Platform, consulta las Condiciones del Servicio de Google Maps Platform.

Suministro de condiciones de uso y políticas de privacidad

Si desarrollas una aplicación del SDK de Places para Android, debes incluir en ella las Condiciones de Uso y una Política de Privacidad que cumpla con los lineamientos que se describen en tu Acuerdo con Google:

  • Las Condiciones de Uso y la Política de Privacidad deben ser de acceso público.
  • En las Condiciones de Uso de la aplicación, debes indicar explícitamente que, cuando usas la aplicación, los usuarios están sujetos a las Condiciones del Servicio de Google.
  • En tu Política de Privacidad, debes notificar a los usuarios que usas las APIs de Google Maps e incorporar como referencia la Política de Privacidad de Google.

El lugar recomendado para poner a disposición las Condiciones de Uso y la Política de Privacidad depende de la plataforma de tu aplicación.

Aplicación para dispositivos móviles

Si estás desarrollando una app para dispositivos móviles, se recomienda que proporciones un vínculo a las Condiciones de Uso y la Política de Privacidad en la página de descarga de tu app en la tienda de aplicaciones correspondiente y en el menú de configuración de la app.

Aplicaciones web

Si estás desarrollando una aplicación web, se recomienda que proporciones un vínculo a las Condiciones de Uso y la Política de Privacidad en el pie de página del sitio web.

Carga previa, almacenamiento en caché o almacenamiento de contenido

Las aplicaciones que usen el SDK de Places para Android están sujetas a las condiciones de tu Acuerdo con Google. Sujeto a las condiciones de su Acuerdo, no debe recuperar previamente, indexar, almacenar ni almacenar en caché ningún Contenido, excepto bajo las condiciones limitadas que se indican en las condiciones.

Ten en cuenta que el ID de lugar, que se usa para identificar un lugar de forma única, está exento de las restricciones de almacenamiento en caché. El ID de lugar se muestra en el campo "place_id" de las respuestas del SDK de Places para Android. Obtén información para guardar, actualizar y administrar los IDs de lugar en la guía sobre IDs de lugar.

Cómo mostrar resultados del SDK de Places para Android

Puedes mostrar los resultados del SDK de Places para Android en un mapa de Google Maps o sin un mapa. Si deseas mostrar resultados del SDK de Places para Android en un mapa, estos deben aparecer en un mapa de Google Maps. Se prohíbe usar datos del SDK de Places para Android en un mapa que no sea de Google.

Si tu aplicación muestra datos en un mapa de Google Maps, el logotipo de Google se incluirá y es posible que no se modifique. Las aplicaciones que muestran datos de Google en la misma pantalla que un mapa de Google no necesitan proporcionar atribuciones adicionales a Google.

Si tu aplicación muestra datos en una página o una vista que no muestra también un mapa de Google, debes mostrar un logotipo de Google con esos datos. Por ejemplo, si tu aplicación muestra datos de Google en una pestaña y un mapa de Google con esos datos en otra, la primera pestaña debe mostrar el logotipo de Google. Si tu aplicación usa campos de búsqueda con o sin autocompletado, el logotipo debe mostrarse intercalado.

El logotipo de Google debe colocarse en la esquina inferior izquierda del mapa, con la información de atribución en la esquina inferior derecha. Ambos deben aparecer en el mapa como un conjunto y no debajo del mapa o de otro lugar de la aplicación. En el siguiente ejemplo de mapa, se muestra el logotipo de Google en la esquina inferior izquierda y la atribución en la esquina inferior derecha.

posición de atribución de políticas

El siguiente archivo ZIP contiene el logotipo de Google en los tamaños correctos para aplicaciones de escritorio, de iOS y Android. No puedes cambiar el tamaño de estos logotipos ni modificarlos de ninguna manera.

Descargar: google_logo.zip

No modifiques la atribución. No quites, ocultes ni recortes la información de atribución. No puedes usar logotipos de Google intercalados (por ejemplo, "Estos mapas son de [Google_logo]").

La atribución se mantiene cerca. Si usas capturas de pantalla de imágenes de Google fuera de las incorporaciones directas, incluye la atribución estándar tal como aparece en la imagen. Si es necesario, puedes personalizar el estilo y la posición del texto de atribución, siempre que el texto se encuentre cerca del contenido y sea legible para el usuario o el lector promedio. No puedes alejar la atribución del contenido, por ejemplo, al final de tu libro, los créditos de tus archivos o programas, o el pie de página de tu sitio web.

Incluir proveedores de datos externos Algunos de los datos y las imágenes de nuestros productos de creación de mapas provienen de proveedores distintos de Google. Si usas esas imágenes, el texto de tu atribución debe decir "Google" y de los proveedores de datos relevantes, como "Datos del mapa: Google, Maxar Technologies". Cuando hay proveedores de datos externos citados con las imágenes, no se considera una atribución adecuada solo incluir "Google" o el logotipo de Google.

Si usas Google Maps Platform en un dispositivo en el que la visualización de atribución no es práctica, comunícate con el equipo de Ventas de Google para analizar las licencias adecuadas para tu caso de uso.

Otros requisitos de atribución

Sigue estas instrucciones para recuperar atribuciones de terceros y mostrarlas en tu app.

Recuperación de atribuciones de un lugar

Si tu app muestra información que obtuvo con una llamada a obtener lugar por ID, también debe mostrar atribuciones de terceros para los detalles del lugar que se obtuvieron.

La API muestra un objeto Place. Para recuperar atribuciones del objeto Place, llama a Place.getAttributions(). El método muestra un List de objetos String, o un valor nulo si no hay atribuciones para mostrar.

String placeId = "INSERT_PLACE_ID_HERE";
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.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.
    }
  }
);

Cómo mostrar atribuciones de una foto

Si tu app muestra fotos, debes mostrar atribuciones para cada foto que las tenga. PhotoMetadata puede contener cualquiera de estos dos tipos de atribuciones:

Para obtener las atribuciones de cadena de una foto, llama a PhotoMetadata.getAttributions(). El método muestra una secuencia de caracteres HTML o una string vacía si no hay atribuciones para mostrar.

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

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

Para obtener las atribuciones del autor de una foto, llama a PhotoMetadata.getAuthorAttributions(). El método devuelve un objeto AuthorAttributions. Este objeto contiene un List de objetos AuthorAttribution, uno por atribución de autor.

// 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();

Muestra una opinión

Un objeto Place puede contener hasta cinco opiniones, y cada opinión se representa con un objeto Review. De manera opcional, puedes mostrar estas opiniones en tu app.

Cuando muestres las opiniones aportadas por los usuarios de Google, debes colocar el nombre del autor cerca. Cuando esté disponible en el campo de atribución del autor del objeto Review, te recomendamos que también incluyas la foto del autor y un vínculo a su perfil. En la siguiente imagen, se muestra un ejemplo de una opinión sobre un parque:

Visualización de la atribución de autor

Google también recomienda que muestres al usuario final cómo se ordenan las opiniones.

Para acceder a las revisiones, llama a 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.
    }
});

Muestra de atribuciones de terceros

Las atribuciones para proveedores externos incluyen contenido y vínculos en formato HTML que debes conservar y mostrar al usuario en el formato en el que se proporcionaron. Google recomienda mostrar esta información debajo de los detalles del lugar.

La API genera atribuciones para todos los lugares que usa la app. Las atribuciones se proporcionan por llamada a la API, no por lugar.

Una forma de mostrar las atribuciones es con un TextView. Por ejemplo:

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

Ejemplo de una atribución de terceros

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

Lineamientos de estilo para la atribución de Google

A continuación, se incluyen lineamientos de estilo para las atribuciones de Google en CSS y HTML si no puedes usar el logotipo descargable de Google.

espacio en blanco

La cantidad de espacio libre alrededor del diseño final debe ser igual o mayor que la altura de la "G" en Google.

El espacio entre la copia de atribución y el logotipo de Google debe ser la mitad del ancho de la "G".

Legibilidad

El pie de autor siempre debe ser claro, legible y aparecer con la variación de color correcta para un fondo determinado. Asegúrate siempre de proporcionar suficiente contraste para la variación del logotipo que selecciones.

Color

Usa el texto gris material de Google 700 sobre un fondo blanco o claro con un rango máximo de tono de negro de 0% a 40%.

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

En fondos más oscuros y sobre fotografías o patrones no ocupados, usa texto blanco para la firma y la atribución.

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

Fuente

Usa la fuente Roboto.

Ejemplo de CSS

El siguiente CSS, cuando se aplique al texto "Google", renderizaría "Google" con la fuente, el color y el espaciado adecuados sobre un fondo blanco o claro.

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;