Zasady i informacje o atrybucji dotyczące pakietu SDK Miejsc na Androida

W tym temacie znajdziesz wymagania dotyczące podania źródła we wszystkich aplikacjach opracowanych za pomocą pakietu Places SDK na Androida, w tym usługi Autouzupełnianie miejsc, która jest częścią tego interfejsu API. Więcej informacji o warunkach korzystania z Google Maps Platform znajdziesz w Warunkach korzystania z usługi Google Maps Platform.

Zasady

W tej sekcji opisano zasady dotyczące pakietu Places SDK for Android. Zasady zawierają praktyczne wskazówki i wymagania dotyczące wdrażania, które pomogą Ci prawidłowo korzystać z usługi i spełniać oczekiwania Google Maps Platform.

Wyjątki od ograniczeń dotyczących buforowania

Pamiętaj, że identyfikator miejsca, który służy do jednoznacznej identyfikacji miejsca, nie podlega ograniczeniom dotyczącym buforowania. Dlatego możesz przechowywać wartości identyfikatorów miejsc bezterminowo. Identyfikator miejsca jest zwracany w polu place_id w odpowiedziach interfejsu API. Więcej informacji o zapisywaniu i odświeżaniu identyfikatorów miejsc oraz zarządzaniu nimi znajdziesz w przewodniku po identyfikatorach miejsc.

Kraje i terytoria Europejskiego Obszaru Gospodarczego

W przypadku klientów, których adres rozliczeniowy znajduje się w Europejskim Obszarze Gospodarczym (EOG), ta usługa ma inne Warunki korzystania z usługi i może mieć inne funkcje. Zanim zaczniesz tworzyć rozwiązania za pomocą 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 podania źródła i wytyczne dotyczące wyświetlania Map Google i treści z Map Google w aplikacjach.

Przykład atrybucji

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

Przykład atrybucji w interfejsie Places UI Kit na mapie niepochodzącej od Google
Wymagane informacje o autorstwie zastosowane do kompaktowego komponentu Informacje o miejscu. Na tej mapie spoza Google atrybucja Map Google jest wyraźnie widoczna, a treści z Google Maps Platform są wizualnie odróżnione od innych treści.

Wyświetlanie informacji o autorstwie w Mapach Google

Podczas wyświetlania treści z interfejsów API Google Maps Platform w aplikacji lub witrynie musisz przestrzegać wymagań dotyczących podania źródła Map 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.

Uwzględniono atrybucję Map Google

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

  • Nie usuwaj dołączonych informacji o autorstwie, niezależnie od tego, gdzie są wyświetlane. Nie zmieniaj, nie ukrywaj ani nie zasłaniaj informacji o autorze i upewnij się, że jest ona wyraźnie widoczna na tle.
  • Zawsze wizualnie odróżniaj treści Google Maps Platform od innych treści, używając wskazówek interfejsu, takich jak obramowanie, kolor tła, cień lub wystarczająca ilość pustego miejsca.
  • Wprowadzając zmiany wizualne, musisz przestrzegać wszystkich wymagań Google Maps dotyczących podawania źródła.

Jeśli to możliwe, atrybucja powinna mieć formę logo Map Google. W przypadkach, gdy ilość miejsca jest ograniczona, dopuszczalny jest tekst Mapy Google. Użytkownicy muszą zawsze wiedzieć, które treści pochodzą z Map Google.

Po lewej: atrybucja z logo Map Google, po prawej: atrybucja z tekstem Map Google
Po lewej: przykład atrybucji logo Map Google, po prawej: przykład atrybucji tekstu Map Google

Atrybucja logo

Aby używać logo Map Google w aplikacji lub witrynie, musisz spełnić te wymagania.
Dopuszczalne odmiany atrybucji logo Map Google
Przykłady dopuszczalnych wersji atrybucji logo Map Google

Pobieranie logo Map Google

Używaj oficjalnych plików logo Map Google. Pobierz logo poniżej i postępuj zgodnie ze wskazówkami podanymi w tej sekcji.

Pobierz zasoby dotyczące atrybucji Map Google

Podczas korzystania z logo Map Google postępuj zgodnie z tymi wytycznymi.

  • Nie modyfikuj logo w żaden sposób.
  • Zachowaj format obrazu logo, aby uniknąć zniekształceń.
  • Używaj logo z obramowaniem na szczegółowym tle, np. na mapie lub obrazie.
  • Używaj logo bez obramowania na jednolitym tle, np. w jednolitym kolorze lub z delikatnym gradientem.

Specyfikacja rozmiaru logo

Logo Map Google musi być zgodne z tymi wytycznymi dotyczącymi rozmiaru:
  • Minimalna wysokość logo: 16 dp
  • Maksymalna wysokość logo: 19 dp
  • Minimalny pusty obszar wokół logo: 10 dp po lewej i prawej stronie oraz u góry, 5 dp u dołu.

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

Logo Map Google z minimalnym pustym obszarem i dopuszczalnym zakresem rozmiarów
Przykład logo Map Google z minimalnym pustym obszarem i akceptowalnym zakresem rozmiarów

Dostępność logo

Logo Map Google musi spełniać te wymagania dotyczące ułatwień dostępu:
  • Zachowaj odpowiedni kontrast między logo a tłem.
  • Dołącz etykietę ułatwień dostępu z tekstem Mapy Google.
Niedopuszczalne odmiany i problemy z dostępnością dotyczące atrybucji logo Map Google
Przykłady niedopuszczalnych odmian i problemów z dostępnością w przypadku atrybucji logo Map Google

Atrybucja tekstowa

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

Dopuszczalne odmiany atrybucji tekstowej Map Google
Przykłady dopuszczalnych odmian atrybucji tekstowej Map Google
  • Nie modyfikuj w żaden sposób tekstu Mapy Google:
    • Nie zmieniaj wielkości liter w nazwie Mapy Google.
    • Nie zawijaj nazwy Mapy Google do wielu wierszy.
    • Nie tłumacz nazwy Mapy Google na inny język.
    • Aby uniemożliwić przeglądarkom tłumaczenie Map Google, użyj atrybutu HTML translate="no".
Niedopuszczalne odmiany atrybucji tekstowej Map Google
Przykłady niedopuszczalnych odmian atrybucji tekstowej Map Google
  • Tekst Map Google należy sformatować zgodnie z tabelą poniżej:

    Wymagania dotyczące stylizacji tekstu w Mapach Google
    Właściwość Styl
    Rodzina czcionek Roboto. Wczytywanie czcionki jest opcjonalne.
    Rodzina czcionek zastępczych Dowolna czcionka bezszeryfowa używana już w Twojej usłudze lub „Sans-Serif”, aby wywołać domyślną czcionkę systemową.
    Styl czcionki Normalna
    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 sekcji Jednostki rozmiaru czcionki na stronie Material Design.
    Odstępy między literami Normalna

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 dotyczące treści wizualnych

Postępuj zgodnie z tymi wymaganiami dotyczącymi wizualnego traktowania atrybucji Map Google.
  • Umieść informacje o autorze w pobliżu góry lub dołu treści i w tym samym kontenerze wizualnym. W przypadku pojedynczego wiersza treści atrybucję można umieścić po prawej lub lewej stronie.

  • Wizualnie odróżniaj treści Google Maps Platform od innych treści, używając wskazówek interfejsu, takich jak obramowanie, kolor tła, cień lub wystarczająca ilość pustego miejsca.

  • Nie przedstawiaj Map Google w fałszywy sposób, przypisując im treści, które nie pochodzą z Google Maps Platform.
  • 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 pokazano przykłady tych wymagań wizualnych.

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

Przykład 2 sposobów odróżniania treści Map Google (oceny miejsca) od innych treści
Przykłady 2 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 łącz 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 zdjęcia w naszych usługach mapowania pochodzą od dostawców innych niż Google. W przypadku niektórych usług, takich jak Map Tiles API, możemy podać wymagane informacje o autorze, które należy przypisać zewnętrznemu dostawcy danych. W takim przypadku tekst atrybucji musi zawierać nazwę „Mapy Google” i nazwy odpowiednich dostawców danych, np. „Dane mapy: Google, Maxar Technologies”. Gdy Google podaje informacje o źródle, które należy do innej firmy, podanie tylko „Map Google” lub logo Google nie jest prawidłowym podaniem źródła.

Inne wymagania dotyczące atrybucji

Aby pobrać informacje o autorach i wyświetlić je w aplikacji, postępuj zgodnie z tymi instrukcjami.

Pobieranie informacji o autorze z miejsca

Jeśli aplikacja wyświetla informacje uzyskane przez wywołanie metody get place by ID, musi też wyświetlać informacje o autorstwie dotyczące uzyskanych informacji o miejscu.

Interfejs API zwraca obiekt Place. Aby pobrać atrybucje z obiektu Place, wywołaj Place.getAttributions(). Metoda zwraca obiekt List z obiektami String lub wartość null, jeśli nie ma żadnych 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 autorze zdjęcia

Jeśli Twoja aplikacja wyświetla zdjęcia miejsc, musisz podać informacje o autorze każdego zdjęcia, które je zawiera. PhotoMetadata, może zawierać 1 z 2 typów atrybucji:

Aby uzyskać informacje o autorze zdjęcia, wywołaj PhotoMetadata.getAttributions(). Metoda zwraca ciąg znaków HTML lub pusty ciąg, jeśli nie ma żadnych informacji o autorstwie 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 PhotoMetadata.getAuthorAttributions(). Metoda zwraca obiekt AuthorAttributions. Ten obiekt zawiera List obiektów AuthorAttribution, po jednym na każde przypisanie 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 wyników wyszukiwania

W Europie, gdy używasz niezmienionego rankingu Google, usługi wyszukiwania muszą zawierać tekst objaśniający, który znajduje się nie dalej niż 1 kliknięcie od strony głównej i opisuje główne czynniki oraz ich wagę, które decydują o pozycji w rankingu wyników wyszukiwania. Tekst wyjaśniający:

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.

Podczas wyświetlania opinii dodanych przez użytkowników Google musisz umieścić imię i nazwisko autora w pobliżu. Jeśli w polu atrybucji autora obiektu Review jest to możliwe, zalecamy dodanie zdjęcia autora i linku do jego profilu. Poniższy obraz przedstawia przykładową opinię o parku:

Wyświetlanie informacji o autorze

Google zaleca też wyświetlanie użytkownikowi informacji o tym, jak opinie są sortowane.

Aby uzyskać dostęp do opinii, wywołaj metodę 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 zewnętrznych

Informacje o dostawcach zewnętrznych zawierają treści i linki w formacie HTML, które musisz zachować i wyświetlać użytkownikowi w formacie, w jakim są dostarczane. Google zaleca wyświetlanie tych informacji pod informacjami o miejscu.

Interfejs API generuje atrybucje dla wszystkich miejsc używanych przez aplikację. Atrybucje są dostarczane na wywołanie interfejsu API, a nie na miejsce.

Jednym ze sposobów wyświetlania atrybucji 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 przez firmę zewnętrzną

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

Autouzupełnianie adresów użytkowników

Gdy użytkownik korzysta z funkcji autouzupełniania w Twojej aplikacji, aby wpisać adres, który zostałby przez niego podany w całości i prawidłowo bez użycia autouzupełniania, wybrany przez niego adres nie podlega ograniczeniom dotyczącym treści Map Google określonym w Umowie dotyczącej Google Maps Platform. Ten wyjątek dotyczy tylko adresu pocztowego wybranego przez użytkownika i wyłącznie konkretnej transakcji tego użytkownika. Nie dotyczy on listy sugerowanych adresów dostarczanych przez funkcję autouzupełniania ani innych Treści Map Google. Ten wyjątek nie dotyczy funkcji wyszukiwania ciekawych miejsc 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 Map Google. Gdy użytkownik wybierze adres, nie będzie on podlegać ograniczeniom dotyczącym Treści Map Google wyłącznie na potrzeby danej transakcji użytkownika.