W tym artykule znajdziesz wymagania dotyczące atrybucji w przypadku wszystkich aplikacji opracowanych za pomocą pakietu SDK Miejsca na Androida, w tym usługi autouzupełniania miejsc, która jest częścią tego interfejsu API. Więcej informacji o warunkach korzystania z Google Maps Platform znajdziesz w Warunkach korzystania z Google Maps Platform.
Podanie warunków korzystania z usługi i polityki prywatności
Jeśli opracowujesz pakiet SDK Miejsca na potrzeby aplikacji na Androida, musisz udostępnić Warunki użytkowania i Politykę prywatności zgodne z wytycznymi opisanymi w umowie z Google:
- Warunki korzystania z usługi i Polityka prywatności muszą być publicznie dostępne.
- W Warunkach korzystania z aplikacji musisz wyraźnie stwierdzić, że korzystanie z aplikacji jest równoznaczne z zaakceptowaniem Warunków korzystania z usługi Google.
- W Polityce prywatności musisz poinformować użytkowników, że używasz interfejsów API Map Google, i załączyć Politykę prywatności Google.
Miejsce, w którym zalecamy udostępnienie Warunków korzystania z aplikacji i Polityki prywatności, zależy od platformy aplikacji.
Aplikacja mobilna
Jeśli tworzysz aplikację mobilną, zalecamy umieszczenie linku do Warunków korzystania z usługi i Polityki prywatności na stronie pobierania aplikacji w odpowiednim sklepie z aplikacjami oraz w menu ustawień aplikacji.
Aplikacje internetowe
Jeśli tworzysz aplikację internetową, zalecamy umieszczenie w stopce witryny linku do Warunków korzystania z usługi i Polityki prywatności.
pobieranie w ramach wstępnego pobierania, przechowywania w pamięci podręcznej lub przechowywania treści;
Aplikacje korzystające z pakietu SDK Miejsca na Androida są objęte postanowieniami Umowy z Google. Zgodnie z warunkami Umowy nie wolno Ci pobierać wstępnie, indeksować, przechowywać ani przechowywać w pamięci podręcznej żadnych Treści, z wyjątkiem ograniczonych warunków określonych w Warunkach.
Pamiętaj, że identyfikator miejsca służący do jednoznacznej identyfikacji miejsca nie podlega ograniczeniami dotyczącymi pamięci podręcznej. Identyfikator miejsca jest zwracany w polu place_id
w odpowiedziach pakietu SDK Miejsc na Androida. Więcej informacji o zapisywaniu, odświeżaniu i zarządzaniu identyfikatorami miejsc znajdziesz w przewodniku po identyfikatorach miejsc.
Wyświetlanie wyników pakietu SDK Miejsc na Androida
Wyniki pakietu Places SDK na Androida możesz wyświetlać na mapie Google lub bez niej. Jeśli chcesz wyświetlać wyniki pakietu Places SDK na Androida na mapie, muszą one być wyświetlane na mapie Google. Nie wolno używać danych z pakietu SDK Miejsc na Androida na mapie, która nie jest mapą Google.
wyświetlać logo i informacje o Google.
Jeśli aplikacja wyświetla dane na mapie Google, logo Google będzie widoczne i nie można go zmienić. Aplikacje, które wyświetlają dane Google na tym samym ekranie co Mapa Google, nie muszą zawierać dodatkowych informacji o Google.
Jeśli Twoja aplikacja wyświetla dane na stronie lub w widoku, który nie zawiera też Map Google, musisz wyświetlić logo Google. Jeśli na przykład aplikacja wyświetla dane Google na jednej karcie, a Mapy Google z tymi danymi na drugiej, na pierwszej karcie musi być widoczne logo Google. Jeśli aplikacja używa pól wyszukiwania z autouzupełnianiem lub bez niego, logo musi być wyświetlane w linii.
Logo Google powinno znajdować się w lewym dolnym rogu mapy, a informacje o autorze – w prawym dolnym rogu. Oba elementy powinny być umieszczone na mapie, która jest prezentowana jako całość, a nie pod mapą ani w innym miejscu w aplikacji. Na przykładowej mapie logo Google znajduje się w lewym dolnym rogu, a w prawym dolnym rogu – informacja o źródle.
Do użytku na jasnym tle | Do użycia na ciemnym tle |
---|---|
Ten plik ZIP zawiera logo Google w odpowiednich rozmiarach na potrzeby aplikacji na komputery, urządzenia z Androidem i iOS. Nie możesz zmieniać rozmiaru ani modyfikować tych logotypów w żaden sposób.
Pobierz: google_logo.zip
Nie modyfikuj atrybucji. Nie wolno usuwać, zasłaniać ani przycinać informacji o przypisie. Nie możesz używać logo Google w tekście (np. „Te mapy pochodzą z [Google_logo]”).
Utrzymuj atrybucję w pobliżu. Jeśli używasz zrzutów ekranu obrazów Google poza bezpośrednim umieszczeniem, dodaj standardowe informacje o źródle, które są widoczne na obrazie. W razie potrzeby możesz dostosować styl i miejsce umieszczenia tekstu z podziękowaniem, o ile tekst znajduje się w pobliżu treści i jest czytelny dla przeciętnego widza lub czytelnika. Nie możesz przenieść informacji o źródle poza treści, np. do końca książki, informacji o treściach w plikach lub programie albo stopki witryny.
Uwzględnij zewnętrznych dostawców danych. Niektóre dane i obrazy w naszych usługach mapowania pochodzą od innych dostawców niż Google. Jeśli używasz takich obrazów, tekst informacji o autorze musi zawierać nazwę „Google” oraz nazwę odpowiedniego dostawcy danych, np. „Dane map: Google, Maxar Technologies”. Jeśli w związku ze zdjęciami są wymienieni zewnętrzni dostawcy danych, podanie tylko nazwy „Google” lub logo Google nie jest prawidłowym przypisaniem autorstwa.
Jeśli używasz Google Maps Platform na urządzeniu, na którym wyświetlanie informacji o pochodzeniu nie jest praktyczne, skontaktuj się z zespołem Google ds. sprzedaży, aby omówić licencje odpowiednie do Twojego przypadku użycia.
Inne wymagania dotyczące atrybucji
Aby pobrać atrybucję pochodzącą od osoby trzeciej i wyświetlić ją w aplikacji, wykonaj podane niżej instrukcje.
Pobieranie atrybucji z miejsca
Jeśli aplikacja wyświetla informacje uzyskane przez wywołanie metody getPlaceByID, musi też wyświetlać informacje o źródłach danych dotyczących uzyskanych informacji o miejscu.
Interfejs API zwraca obiekt Place
. Aby pobrać atrybucje z obiektu Place
, wywołaj funkcję Place.getAttributions()
.
Metoda zwraca tablicę List
obiektów String
lub wartość null, jeśli nie ma żadnych atrybutów 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ć informacje o źródle każdego zdjęcia.
PhotoMetadata
,
może zawierać jeden z 2 rodzajów atrybucji:
- Atrybucje, ciąg znaków atrybucji dostępny za pomocą elementu
PhotoMetadata.getAttributions()
. - AuthorAttributions, obiekt
AuthorAttributions
dostępny za pomocąPhotoMetadata.getAuthorAttributions()
.
Aby uzyskać informacje o atrybutach ciągu znaków dla zdjęcia, wywołaj funkcję PhotoMetadata.getAttributions()
. Metoda zwraca ciąg znaków HTML lub pusty ciąg znaków, jeśli nie ma atrybutów 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, zadzwoń pod numer
PhotoMetadata.getAuthorAttributions()
. Metoda zwraca obiekt AuthorAttributions
. Ten obiekt zawiera List
obiektów AuthorAttribution
, po jednym na każdego autora.
// 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();
Atrybucja wyników wyszukiwania
W Europie, gdy korzystasz z niemodyfikowanego rankingu Google, produkty wyszukiwania muszą mieć tekst wyjaśniający, który jest dostępny maksymalnie w 1 kliknięciu i opisuje główne czynniki oraz ich wagę w określaniu pozycji w wynikach wyszukiwania. Tekst wyjaśniający:
Nagłówek: informacje o 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: dowiedz się więcej
Tekst „Dowiedz się więcej” powinien zawierać link do artykułu w Centrum pomocy.
Button 2: OK
Wyświetlanie opinii
Obiekt Place
może zawierać maksymalnie 5 opinii, z których każda jest reprezentowana przez obiekt Review
. Opcjonalnie możesz wyświetlać te opinie w aplikacji.
Podczas wyświetlania opinii przesłanych przez użytkowników Google musisz umieścić nazwę autora w pobliżu. Jeśli w polu atrybucji autora obiektu Review
jest dostępne, zalecamy dodanie zdjęcia autora i połączenie go z jego profilem. Na tym obrazie widać przykład recenzji parku:
Google zaleca też wyświetlanie użytkownikom informacji o tym, jak są sortowane opinie.
Aby uzyskać dostęp do opinii, zadzwoń pod numer
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 źródłach pochodzące od zewnętrznych dostawców zawierają treści i linki w formacie HTML, które musisz zachować i wyświetlić użytkownikowi w takim formacie, w jakim zostały dostarczone. Google zaleca wyświetlanie tych informacji pod szczegółami miejsca.
Interfejs API generuje atrybucje dla wszystkich miejsc używanych przez aplikację. Atrybucje są dostarczane na podstawie wywołania interfejsu API, a nie miejsca.
Atrybucję można wyświetlić za pomocą 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>
Wytyczne dotyczące stylu atrybucji Google
Jeśli nie możesz użyć logo Google do pobrania, poniżej znajdziesz wytyczne dotyczące stylów w przypadku informacji o Google w CSS i HTML.
Pusty obszar
Wielkość pustego obszaru wokół logo powinna być równa wysokości litery „G” w logo Google lub od niej większa.
Odstęp między tekstem dotyczącym autorstwa a logo Google powinien mieć połowę szerokości litery „G”.
czytelność;
W przypadku podpisu należy zawsze zadbać o to, aby był on wyraźny, czytelny i wyświetlany w odpowiednim kolorze w zależności od tła. Pamiętaj, aby wybrana przez Ciebie wersja logo miała wystarczający kontrast.
Kolor
Używaj czcionki Google Material Gray 700 na białym lub jasnym tle, która ma zakres 0–40% maksymalnego odcienia czerni.
#5F6368 RGB 95 99 104 HSL 213 5 39 HSB 213 9 41
Na ciemniejszym tle oraz na zdjęciach lub prostych wzorach używaj białego tekstu w przypisach i podpisach.
#FFFFFF RGB 255 255 255 HSL 0 0 100 HSB 0 0 100
Czcionka
Użyj czcionki Roboto.
Przykładowy kod CSS
Poniższy kod CSS zastosowany do tekstu „Google” spowoduje, że „Google” zostanie wyrenderowane z odpowiednim fontem, kolorem i odstępem na białym lub jasnym tle.
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;