Norme relative all'SDK Places per Android

Questo argomento fornisce i requisiti di attribuzione per tutte le applicazioni sviluppate con l'SDK Places per Android, incluso il servizio Place Autocomplete che fa parte di questa API. Per altri termini di Google Maps Platform, consulta i Termini di servizio di Google Maps Platform.

Fornire termini e condizioni d'uso e norme sulla privacy

Se sviluppi un'applicazione Places SDK per Android, devi rendere disponibili i Termini e condizioni d'uso e le Norme sulla privacy nella tua applicazione, che sia conforme alle linee guida definite nel Contratto con Google:

  • I Termini e condizioni d'uso e le Norme sulla privacy devono essere disponibili pubblicamente.
  • Devi indicare esplicitamente nei Termini e condizioni d'uso della tua applicazione che gli utenti sono vincolati dai Termini di servizio di Google utilizzando l'applicazione.
  • Devi informare gli utenti nelle tue Norme sulla privacy che stai utilizzando le API di Google Maps e incorporare, tramite riferimento, le Norme sulla privacy di Google.

La posizione consigliata in cui rendere disponibili i Termini e condizioni d'uso e le Norme sulla privacy dipende dalla piattaforma della tua applicazione.

App mobile

Se sviluppi un'app mobile, ti consigliamo di fornire un link ai Termini e condizioni d'uso e alle Norme sulla privacy nella pagina di download dell'applicazione nello store pertinente e in un menu delle impostazioni dell'applicazione.

Applicazioni web

Se sviluppi un'applicazione web, ti consigliamo di fornire un link ai Termini e condizioni d'uso e alle Norme sulla privacy nel piè di pagina del sito web.

Precaricamento, memorizzazione nella cache o archiviazione dei contenuti

Le applicazioni che utilizzano l'SDK Places per Android sono vincolate dai termini del Contratto con Google. In base ai termini del Contratto, l'utente non deve precaricare, indicizzare, archiviare o memorizzare nella cache alcun Contenuto, se non nelle condizioni limitate indicate nei termini.

Tieni presente che l'ID luogo, utilizzato per identificare in modo univoco un luogo, è esente dalle limitazioni relative alla memorizzazione nella cache. L'ID luogo viene restituito nel campo "place_id" nell'SDK Places per le risposte Android. Scopri come salvare, aggiornare e gestire gli ID luogo nella guida agli ID luogo.

Visualizzazione dei risultati dell'SDK Places per Android

Puoi visualizzare i risultati dell'SDK Places per Android su una mappa di Google Maps o senza una mappa. Se vuoi visualizzare i risultati dell'SDK Places per Android su una mappa, questi risultati devono essere visualizzati su una mappa Google. È vietato utilizzare dati dell'SDK Places per Android su una mappa che non è una mappa di Google.

Se l'applicazione visualizza dati su una mappa di Google Maps, verrà incluso il logo di Google che non potrà essere modificato. Per le applicazioni che visualizzano i dati di Google nella stessa schermata di una mappa di Google Maps non è necessario fornire ulteriori attribuzioni a Google.

Se l'applicazione mostra dati su una pagina o una visualizzazione che non mostra anche una mappa Google, devi mostrare un logo Google con tali dati. Ad esempio, se l'applicazione mostra dati di Google in una scheda e una mappa di Google con questi dati in un'altra scheda, nella prima scheda deve essere mostrato il logo di Google. Se l'applicazione utilizza campi di ricerca con o senza il completamento automatico, il logo deve essere visualizzato in linea.

Il logo di Google deve essere posizionato nell'angolo in basso a sinistra della mappa e le informazioni di attribuzione devono essere posizionate nell'angolo in basso a destra. In entrambi i casi, devono essere presentate nella mappa nel suo insieme e non sotto la mappa o un'altra posizione all'interno dell'applicazione. Il seguente esempio di mappa mostra il logo di Google in basso a sinistra e l'attribuzione in basso a destra.

posizionamento attribuzione norme

Il seguente file ZIP contiene il logo Google nelle dimensioni corrette per applicazioni desktop, Android e iOS. Non puoi ridimensionare o modificare in alcun modo questi loghi.

Scarica: google_logo.zip

Non modificare l'attribuzione. Non rimuovere, oscurare o ritagliare le informazioni di attribuzione. Non puoi utilizzare i loghi Google incorporati (ad esempio "Queste mappe provengono da [Google_logo]").

Mantieni l'attribuzione concreta. Se utilizzi screenshot di immagini Google al di fuori degli incorporamenti diretti, includi l'attribuzione standard così come appare nell'immagine. Se necessario, puoi personalizzare lo stile e il posizionamento del testo dell'attribuzione, a condizione che il testo si trovi nelle vicinanze dei contenuti e sia leggibile per lo spettatore o il lettore medio. Non puoi spostare l'attribuzione dai contenuti, ad esempio alla fine del libro, dai riconoscimenti dei tuoi file o del tuo programma oppure dal piè di pagina del tuo sito web.

Includi fornitori di dati di terze parti. Alcuni dei dati e delle immagini sui nostri prodotti di mappatura provengono da fornitori diversi da Google. Se utilizzi immagini di questo tipo, il testo dell'attribuzione deve riportare il nome "Google" e i fornitori di dati pertinenti, ad esempio "Dati mappa: Google, Maxar Technologies". Quando esistono fornitori di dati di terze parti citati con le immagini, è possibile includere solo "Google" o il logo Google non è un'attribuzione appropriata.

Se utilizzi Google Maps Platform su un dispositivo in cui la visualizzazione dell'attribuzione non è pratica, contatta il team di vendita di Google per discutere delle licenze appropriate al tuo caso d'uso.

Altri requisiti di attribuzione

Segui queste istruzioni per recuperare le attribuzioni di terze parti e per visualizzarle nella tua app.

Recupero di attribuzioni da un luogo

Se l'app mostra informazioni ottenute chiamando la funzionalità Ottieni luogo per ID, deve mostrare anche le attribuzioni di terze parti per i dettagli sul luogo ottenuti.

L'API restituisce un oggetto Place. Per recuperare le attribuzioni dall'oggetto Place, chiama Place.getAttributions(). Il metodo restituisce List di String oggetti oppure null se non ci sono attribuzioni da visualizzare.

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.
    }
  }
);

Mostra le attribuzioni di una foto

Se la tua app mostra foto, devi mostrare le attribuzioni per ogni foto che le include. PhotoMetadata, può contenere uno di due tipi di attribuzioni:

Per ottenere le attribuzioni delle stringhe per una foto, chiama PhotoMetadata.getAttributions(). Il metodo restituisce una sequenza di caratteri HTML o una stringa vuota se non ci sono attribuzioni da visualizzare.

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

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

Per ottenere le attribuzioni dell'autore di una foto, chiama PhotoMetadata.getAuthorAttributions(). Il metodo restituisce un oggetto AuthorAttributions. Questo oggetto contiene List di AuthorAttribution oggetti, uno per attribuzione dell'autore.

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

Mostra una recensione

Un oggetto Place può contenere fino a cinque recensioni, ognuna delle quali è rappresentata da un oggetto Review. Se vuoi, puoi visualizzare queste recensioni nella tua app.

Quando mostri recensioni fornite da utenti Google, devi inserire il nome dell'autore nelle vicinanze. Se disponibile nel campo di attribuzione dell'autore dell'oggetto Review, ti consigliamo di includere anche la foto dell'autore e il link al suo profilo. La seguente immagine mostra un esempio di recensione di un parco:

Visualizzazione attribuzione autore

Google consiglia inoltre di mostrare all'utente finale come vengono ordinate le recensioni.

Per accedere alle recensioni, chiama il numero 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.
    }
});

Visualizzazione di attribuzioni di terze parti

Le attribuzioni a fornitori di terze parti includono contenuti e link in formato HTML che devi conservare e mostrare all'utente nel formato in cui vengono forniti. Google consiglia di mostrare queste informazioni sotto i dettagli del luogo.

L'API genera attribuzioni per tutti i luoghi utilizzati dall'app. Le attribuzioni vengono fornite per chiamata API, non per luogo.

Un modo per visualizzare le attribuzioni è usare un elemento TextView. Ad esempio:

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

Esempio di attribuzione di terze parti

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

Linee guida di stile per l'attribuzione Google

Di seguito sono riportate le linee guida di stile per le attribuzioni di Google in CSS e HTML se non riesci a utilizzare il logo di Google scaricabile.

Spazio vuoto

La quantità di spazio vuoto intorno al logo completo deve essere uguale o superiore all'altezza della "G" in Google.

Lo spazio tra il testo dell'attribuzione e il logo di Google deve essere metà della larghezza della "G".

Leggibilità

La riga dell'autore deve essere sempre chiara, leggibile e con la giusta variazione di colore per un determinato sfondo. Assicurati sempre di offrire un contrasto sufficiente per la variante del logo selezionata.

Colore

Utilizza il testo Google Material Gray 700 su uno sfondo bianco o chiaro con una percentuale massima di nero compresa tra lo 0% e il 40%.

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

Su sfondi più scuri e con motivi fotografici o non occupati, utilizza il testo bianco per la riga dell'autore e l'attribuzione.

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

Carattere

Utilizza il carattere Roboto.

CSS di esempio

Il seguente CSS, quando applicato al testo "Google", mostra "Google" con il carattere, il colore e la spaziatura appropriati su uno sfondo bianco o chiaro.

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;