Zasady dotyczące pakietu SDK Miejsc na Androida

W tym artykule znajdziesz wymagania dotyczące atrybucji w przypadku wszystkich aplikacji opracowanych za pomocą pakietu SDK Miejsc na Androida, w tym usługi autouzupełniania miejsc, która jest częścią tego interfejsu API. Więcej warunków korzystania z Google Maps Platform znajdziesz w Warunkach korzystania z usługi Google Maps Platform.

Zasady

W tej sekcji opisujemy zasady dotyczące pakietu SDK Miejsc na Androida. Zasady zawierają praktyczne wskazówki i wymagania dotyczące wdrażania, które pomagają prawidłowo korzystać z Usługi zgodnie z oczekiwaniami Platformy Map Google.

Wyjątki od ograniczeń buforowania

Pamiętaj, że identyfikator miejsca, który służy do jednoznacznej identyfikacji miejsca, nie podlega ograniczeniom dotyczącym buforowania. W związku z tym możesz przechowywać wartości identyfikatorów miejsc bez ograniczeń czasowych. Identyfikator miejsca jest zwracany w polu place_id w odpowiedziach API. Dowiedz się, jak zapisywać, odświeżać i zarządzać identyfikatorami miejsc w przewodniku po identyfikatorach miejsc.

kraje i terytoria Europejskiego Obszaru Gospodarczego,

Ta usługa ma inne Warunki korzystania z usługi dla klientów z adresem rozliczeniowym w Europejskim Obszarze Gospodarczym (EOG) i może mieć inne funkcje. Zanim zaczniesz korzystać z Google Maps Platform, zapoznaj się z tymi warunkami i informacjami dotyczącymi Europejskiego Obszaru Gospodarczego:

Jeśli Twój adres rozliczeniowy nie znajduje się w Europejskim Obszarze Gospodarczym, obowiązują Cię te warunki korzystania z usługi:

Wymagania dotyczące podania źródła w Mapach Google

W tej sekcji znajdziesz wymagania dotyczące atrybucji i wskazówki dotyczące wyświetlania Map Google i treści w aplikacjach.

Przykład atrybucji

Poniżej znajdziesz przykład atrybucji w przypadku interfejsu Places UI Kit.

Przykład atrybucji interfejsu Places UI Kit
na mapie niepochodzącej od Google
Wymagane atrybucje zastosowane w kompaktowym komponencie Informacje o miejscu. Na tej mapie pochodzącej od innego dostawcy atrybucja Map Google jest wyraźnie widoczna, a treści z platformy Google Maps są wizualnie odróżnione od innych treści.

Wyświetlanie informacji o autorstwie Map Google

Wyświetlając w aplikacji lub witrynie treści z interfejsów API Google Maps Platform, musisz przestrzegać wymagań dotyczących atrybucji w Mapach Google. Nie musisz dodawać dodatkowych informacji o autorstwie, jeśli Treści są wyświetlane w Mapach Google, gdzie informacje o autorstwie są już widoczne.

Atrybucja Map Google

W przypadku atrybucji Map Google, która jest już udostępniana przez Google Maps Platform w interfejsie użytkownika, np. w interfejsie Places UI Kit:

  • Nie usuwaj dołączonego atrybutu, niezależnie od tego, gdzie jest wyświetlany. Nie zmieniaj, nie ukrywaj ani nie zasłaniaj informacji o źródle. Upewnij się, że są one wyraźnie widoczne na tle.
  • Zawsze wizualnie odróżniaj Treści Google Maps Platform od innych treści, używając elementów interfejsu, takich jak obramowanie, kolor tła, cień lub odpowiednia ilość wolnego miejsca.
  • Wprowadzając zmiany wizualne, musisz przestrzegać wszystkich wymagań dotyczących atrybucji w Mapach Google.

Atrybucja powinna mieć postać logo Map Google, jeśli tylko jest to możliwe. W przypadku ograniczonej ilości miejsca dopuszczalny jest tekst Mapy Google. Użytkownicy końcowi muszą zawsze wiedzieć, które treści są dostarczane przez Mapy Google.

Po lewej: atrybucja logo Map Google, po prawej: atrybucja tekstowa Map Google
Po lewej: logo Map Google z informacją o autorze, po prawej: tekst z informacją o autorze Map Google

Atrybucja logo

Podczas używania logo Map Google w aplikacji lub witrynie postępuj zgodnie z tymi wymaganiami.
Dopuszczalne warianty atrybucji logo Map Google
Dopuszczalne warianty atrybucji logo Map Google

Pobieranie logo Map Google

Używaj oficjalnych plików z logo Map Google. Pobierz logo poniżej i postępuj zgodnie z wytycznymi w tej sekcji.

Pobierz zasoby dotyczące atrybucji w Mapach Google

Używając logo Map Google, postępuj zgodnie z tymi wytycznymi.

  • Nie modyfikuj logo w żaden sposób.
  • Zachowaj format obrazu logo, aby uniknąć zniekształcenia.
  • Używaj logo z obramowaniem na tle z wieloma elementami, np. na mapie lub obrazie.
  • Używaj logo bez obramowania na prostym tle, np. jednolitym kolorze lub subtelnym gradiencie.

Specyfikacja rozmiaru logo

Przestrzegaj tych specyfikacji rozmiaru logo Map Google:
  • Minimalna wysokość logo: 16 dp
  • Maksymalna wysokość logo: 19 dp
  • Minimalny pusty obszar wokół logo: 10 dp po lewej, prawej i górnej stronie, 5 dp u dołu

Więcej informacji o dp znajdziesz w sekcji Gęstość pikseli na stronie Material Design.

Logo Map Google z minimalnym pustym obszarem i dopuszczalnym zakresem rozmiarów
Logo Map Google z minimalną przestrzenią i dopuszczalnym zakresem rozmiarów

Dostępność logo

Przestrzegaj tych wymagań dotyczących ułatwień dostępu w przypadku logo Map Google:
  • Zachowaj kontrast dostępny między logo a tłem.
  • Dodaj etykietę ułatwień dostępu z tekstem Mapy Google.
Niedopuszczalne odmiany i problemy z dostępnością w przypadku atrybucji logo Map Google
Niedopuszczalne warianty i problemy z dostępnością w przypadku atrybucji logo Map Google

Atrybucja tekstu

Jeśli rozmiar interfejsu nie pozwala na użycie logo Map Google, możesz wpisać Mapy Google. Skorzystaj z tych wskazówek:

Dopuszczalne warianty atrybucji tekstowej Map Google
Dopuszczalne warianty tekstu atrybucji Map Google
  • Nie modyfikuj w żaden sposób tekstu Mapy Google:
    • Nie zmieniaj wielkości liter w nazwie Mapy Google.
    • Nie dziel Map Google na kilka wierszy.
    • Nie tłumacz nazwy Mapy Google na inny język.
    • Zablokuj przeglądarkom możliwość tłumaczenia Map Google, używając atrybutu HTML translate="no".
Niedopuszczalne odmiany tekstu atrybucji Map Google
Niedopuszczalne warianty tekstu atrybucji Map Google
  • Stylizuj tekst w Mapach Google zgodnie z opisem w tej tabeli:

    Wymagania dotyczące stylu tekstu w Mapach Google
    Właściwość Styl
    Rodzina czcionek Roboto Wczytywanie czcionki jest opcjonalne.
    Rodzina czcionek zastępczych dowolną czcionkę bezszeryfową używaną już w Twojej usłudze lub „Sans-Serif”, aby wywołać domyślną czcionkę systemową.
    Styl czcionki Normalny
    Grubość czcionki 400
    Kolor czcionki biały, czarny (#1F1F1F) lub szary (#5E5E5E); Zachowaj dostępny kontrast (4,5:1) względem tła.
    Rozmiar czcionki Minimalny rozmiar czcionki: 12 sp
    Maksymalny rozmiar czcionki: 16 sp
    Więcej informacji o jednostce sp znajdziesz w artykule Jednostki rozmiaru czcionki na stronie Material Design.
    Odstępy między literami Normalny

Przykładowy kod CSS

Poniższy kod CSS renderuje Mapy Google z odpowiednim stylem typograficznym i kolorem na białym lub jasnym tle.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

Wymagania wizualne

Przestrzegaj tych wymagań dotyczących wizualnego sposobu podawania informacji o autorstwie w Mapach Google.
  • Atrybucja powinna znajdować się w pobliżu górnej lub dolnej części treści, w tym samym kontenerze wizualnym. W przypadku jednego wiersza treści atrybucja może być umieszczona po prawej lub lewej stronie.

  • Wizualnie odróżniaj Treści Google Maps Platform od innych treści, używając elementów interfejsu, takich jak obramowanie, kolor tła, cień lub odpowiednia ilość wolnego miejsca.

  • Nie wprowadzaj użytkowników w błąd, przypisując treściom niezwiązanym z Google Maps Platform autorstwo Map Google.
  • Sprawdź, czy atrybucja jest zawsze widoczna i czytelna. Nigdy nie usuwaj, nie ukrywaj, nie zasłaniaj ani nie modyfikuj tego logo.

Na ilustracjach poniżej znajdziesz przykłady tych wymagań wizualnych.

Przykład atrybucji Map Google umieszczonej u góry, u dołu i z boku treści
Przykład atrybucji Map Google umieszczonej u góry, u dołu i z boku treści

Przykład 3 sposobów odróżniania treści z Map Google (oceny miejsca) od innych treści
Przykład 3 sposobów odróżniania treści z Map Google (oceny miejsca) od innych treści

Nie zasłaniaj informacji o autorstwie Map Google ani nie mieszaj ich z treściami z innych źródeł.
Nie zasłaniaj atrybucji Map Google ani nie mieszaj jej z treściami z innych źródeł

zewnętrzni dostawcy danych,

Niektóre dane i obrazy w naszych usługach mapowych pochodzą od dostawców innych niż Google. W przypadku niektórych usług, takich jak Map Tiles API, możemy przekazać Ci wymagane informacje o autorstwie dostawcy danych zewnętrznych. W takim przypadku tekst atrybucji musi zawierać nazwę „Mapy Google” i nazwy odpowiednich dostawców danych, np. „Dane mapy: Google, Maxar Technologies”. Jeśli Google podaje informacje o źródle pochodzącym od innej firmy, samo umieszczenie informacji „Mapy Google” lub logo Google nie jest odpowiednim podaniem źródła.

Inne wymagania dotyczące atrybucji

Aby pobrać atrybucje pochodzące od firm zewnętrznych i wyświetlić je w aplikacji, postępuj zgodnie z tymi instrukcjami.

Pobieranie atrybucji z miejsca

Jeśli aplikacja wyświetla informacje uzyskane przez wywołanie funkcji get place by ID, musi też wyświetlać informacje o atrybucji pochodzące od osób trzecich dotyczące uzyskanych szczegółów miejsca.

Interfejs API zwraca obiekt Place. Aby pobrać atrybucje z obiektu Place, wywołaj funkcję Place.getAttributions(). Metoda zwraca List obiektów String lub wartość null, jeśli nie ma atrybucji do wyświetlenia.

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

Wyświetlanie informacji o źródle zdjęcia

Jeśli Twoja aplikacja wyświetla zdjęcia miejsc, musisz podać atrybucję każdego zdjęcia, które ją ma. PhotoMetadata może zawierać jeden z 2 rodzajów atrybucji:

Aby uzyskać atrybucje ciągów znaków dla zdjęcia, wywołaj funkcję PhotoMetadata.getAttributions(). Metoda zwraca ciąg znaków HTML lub pusty ciąg, jeśli nie ma atrybucji do wyświetlenia.

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

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

Aby uzyskać informacje o autorze zdjęcia, wywołaj funkcję PhotoMetadata.getAuthorAttributions(). Metoda zwraca obiekt AuthorAttributions. Ten obiekt zawiera List obiektów AuthorAttribution, po jednym dla każdego przypisania autorstwa.

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

Atrybucje w wynikach wyszukiwania

W Europie, gdy używasz niezmodyfikowanego rankingu Google, produkty wyszukiwania muszą zawierać tekst wyjaśniający, do którego można dotrzeć za pomocą maksymalnie 1 kliknięcia. Tekst ten musi opisywać główne czynniki i ich wagę, które decydują o pozycji w rankingu wyników wyszukiwania. Wyjaśnienie:

Nagłówek: Informacje o tych wynikach

Treść: Gdy szukasz firm lub miejsc w pobliżu danej lokalizacji, w Mapach Google wyświetlają się wyniki lokalne. Aby wybrać dla Ciebie najlepsze wyniki wyszukiwania, uwzględniamy różne czynniki – przede wszystkim trafność, odległość i renomę.

Przycisk 1: Więcej informacji
Tekst „Więcej informacji” powinien prowadzić do artykułu w Centrum pomocy.

Przycisk 2: OK

Wyświetlanie opinii

Obiekt Place może zawierać maksymalnie 5 opinii, z których każda jest reprezentowana przez obiekt Review. Możesz opcjonalnie wyświetlać te opinie w aplikacji.

Wyświetlając opinie użytkowników Google, musisz umieścić nazwę autora w pobliżu opinii. Jeśli jest to możliwe, w polu atrybucji autora obiektu Review zalecamy podanie zdjęcia autora i linku do jego profilu. Na poniższym obrazie widać przykład opinii o parku:

Wyświetlanie atrybucji autora

Google zaleca też wyświetlanie użytkownikom informacji o sposobie sortowania opinii.

Aby uzyskać dostęp do opinii, kliknij 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.
    }
});

Wyświetlanie atrybucji firm zewnętrznych

Informacje o atrybucji dostawców zewnętrznych zawierają treści i linki w formacie HTML, które musisz zachować i wyświetlać użytkownikowi w formacie, w jakim zostały udostępnione. Google zaleca wyświetlanie tych informacji pod szczegółami miejsca.

Interfejs API generuje atrybucje dla wszystkich miejsc używanych przez aplikację. Atrybucje są dostarczane w ramach każdego wywołania interfejsu API, a nie dla każdego miejsca.

Jednym ze sposobów wyświetlania informacji o autorze jest użycie elementu TextView. Na przykład:

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

Przykład atrybucji firmy zewnętrznej

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

Autouzupełnianie adresów użytkowników

Jeśli użytkownik korzysta z funkcji autouzupełniania w Aplikacji klienta, aby wpisać adres ulicy, a ten adres zostałby w pełni i dokładnie podany przez użytkownika bez autouzupełniania, wybrany przez użytkownika adres nie podlega ograniczeniom dotyczącym treści w Mapach Google określonym w Umowie dotyczącej korzystania z Google Maps Platform. Ten wyjątek dotyczy tylko adresu wybranego przez użytkownika i wyłącznie w przypadku konkretnej transakcji tego użytkownika. Nie dotyczy listy sugerowanych adresów podawanych przez funkcję autouzupełniania ani innych treści Map Google. Ten wyjątek nie dotyczy żadnych funkcji wyszukiwania punktów POI ani adresów oferowanych przez inne usługi Google Maps Platform.

Autouzupełnianie adresu użytkownika

Na poprzednim obrazie lista adresów po lewej stronie nadal podlega ograniczeniom dotyczącym treści w Mapach Google. Gdy użytkownik wybierze adres, nie podlega on ograniczeniom dotyczącym treści w Mapach Google wyłącznie na potrzeby odpowiedniej transakcji użytkownika.