Políticas del SDK de Maps para Android

En este tema, se proporcionan los requisitos de atribución para todas las aplicaciones desarrolladas con el SDK de Maps para Android, incluido el servicio Place Autocomplete que forma parte de esa API. Para conocer más condiciones sobre 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 Maps 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 el 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, al usarla, 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 las Condiciones de uso y la Política de privacidad dependerá de la plataforma de tu aplicación.

Aplicación para dispositivos móviles

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

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.

Precarga, almacenamiento en caché o almacenamiento de contenido

Las aplicaciones que usen el SDK de Maps para Android están sujetas a las condiciones de su Acuerdo con Google. Con sujeción a las condiciones de su Acuerdo, usted no debe cargar previamente, indexar, almacenar ni almacenar en caché ningún Contenido, excepto en las condiciones limitadas que se indican en las condiciones.

Cómo mostrar resultados del SDK de Maps para Android

Puedes mostrar resultados del SDK de Maps para Android en un mapa de Google Maps o sin un mapa. Si deseas mostrar los resultados del SDK de Maps para Android en un mapa, estos deben aparecer en un mapa de Google Maps. Se prohíbe usar datos del SDK de Maps 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 no podrá modificarse. 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 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 y la información de atribución en la esquina inferior derecha. Ambos deben aparecer en el mapa completo y no debajo del mapa o de otro lugar dentro de la aplicación. En el siguiente ejemplo de mapa, se muestra el logotipo de Google en la parte inferior izquierda y la atribución en la esquina inferior derecha.

El siguiente archivo ZIP contiene el logotipo de Google en los tamaños correctos para aplicaciones de computadoras de escritorio, iOS y Android. No debes 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 es similar. 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 quitar la atribución del contenido, por ejemplo, al final del libro, los créditos de tus archivos o programa, o al pie de página de tu sitio web.

Incluye proveedores de datos externos. Algunos de los datos y las imágenes de nuestros productos de creación de mapas provienen de otros proveedores, además de Google. Si usas estas imágenes, el texto de la atribución debe decir "Google" y los proveedores de datos relevantes, como "Datos de mapas: Google, Maxar Technologies". Cuando hay proveedores de datos externos citados con las imágenes, solo incluir "Google" o el logotipo de Google no es una atribución adecuada.

Si usas Google Maps Platform en un dispositivo en el que la visualización de la 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 la llamada a obtener lugar por ID, también deberá mostrar atribuciones de terceros para los detalles del lugar obtenidos.

La API muestra un objeto Place. Para recuperar atribuciones del objeto Place, llama a Place.getAttributions(). El método muestra un String o una cadena en blanco 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());
    textView.append("Attributions: " + place.getAttributions());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

Mostrar atribuciones para una foto

Si tu app muestra fotos, debes mostrar atribuciones para cada foto que las tenga. PhotoMetadata puede contener cualquiera de los 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 cadena 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 muestra 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. Cada una de ellas está representada por un objeto Review. De manera opcional, puedes mostrar estas opiniones en tu app.

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

Para acceder a las opiniones, 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 de terceros 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 sitios 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>

Ten en cuenta que el ID del lugar, que se usa para identificar un lugar de forma única, está exento de la restricción de almacenamiento en caché. Por lo tanto, puedes almacenar valores de ID de lugar de forma indefinida. El ID de lugar se muestra en el campo place_id de las respuestas del SDK de Maps para Android.

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 de Google descargable.

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 y legible, y debe aparecer con la variación de color adecuada para un fondo determinado. Siempre asegúrate de proporcionar suficiente contraste para la variación del logotipo que selecciones.

Color

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

Servicios
#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.

Servicios
#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", mostrarí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;