W tym temacie przedstawiamy wymagania dotyczące atrybucji we wszystkich aplikacjach utworzonych za pomocą pakietu Places SDK na Androida, w tym dla 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 Google Maps Platform.
Udostępnianie warunków korzystania z usługi i polityki prywatności
Jeśli tworzysz aplikację pakietu Places SDK dla Androida, musisz udostępnić w swoim zgłoszeniu Warunki korzystania z usługi oraz Politykę prywatności, zgodne z wytycznymi określonymi w Umowie z Google:
- Warunki korzystania z usługi i Polityka prywatności muszą być dostępne publicznie.
- W Warunkach korzystania z aplikacji należy wyraźnie zaznaczyć, że korzystając z niej, użytkownicy są zobowiązani do przestrzegania Warunków korzystania z usług Google.
- W swojej Polityce prywatności musisz powiadomić użytkowników, że korzystasz z interfejsów API Map Google, i uwzględnić je w Polityce prywatności Google.
Zalecane miejsce udostępniania Warunków korzystania z usługi i Polityki prywatności zależy od platformy, na której działa aplikacja.
Aplikacja mobilna
Jeśli tworzysz aplikację mobilną, zalecamy podanie 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 podanie w stopce witryny linku do Warunków korzystania z usługi i Polityki prywatności.
Pobieranie z wyprzedzeniem, zapisywanie w pamięci podręcznej lub przechowywanie treści
Aplikacje korzystające z pakietu Places SDK dla systemu Android są objęte warunkami Umowy użytkownika z Google. Zgodnie z warunkami Umowy Użytkownik nie może pobierać z wyprzedzeniem, indeksować, przechowywać ani buforować żadnej Treści, z wyjątkiem ograniczonych warunków określonych w warunkach.
Pamiętaj, że identyfikator miejsca używany do jednoznacznej identyfikacji miejsca jest zwolniony z ograniczeń dotyczących buforowania. Identyfikator miejsca jest zwracany w polu `place_id` w odpowiedziach na Androida Miejsc SDK. W przewodniku po identyfikatorach miejsc dowiesz się, jak zapisywać i odświeżać identyfikatory miejsc oraz nimi zarządzać.
Wyświetlanie wyników pakietu Miejsca SDK na Androida
Wyniki z pakietu Miejsca SDK na Androida możesz wyświetlać w Mapach Google lub bez mapy. Jeśli chcesz wyświetlać na mapie wyniki z pakietu Miejsca SDK na Androida, musisz je wyświetlić w Mapach Google. Nie wolno używać pakietu Places SDK dla danych na Androida na mapie, która nie jest mapą Google.
Wyświetlanie logo Google i informacji o autorach
Jeśli aplikacja wyświetla dane w Mapach Google, pojawia się w nich logo Google i nie można go zmieniać. Aplikacje, które wyświetlają dane Google na tym samym ekranie co Mapa Google, nie muszą podawać Google dodatkowych informacji o źródłach.
Jeśli Twoja aplikacja wyświetla dane na stronie lub w widoku, który nie wyświetla również Map Google, musisz pokazać logo Google z tymi danymi. Jeśli na przykład aplikacja wyświetla dane Google na jednej karcie, a Mapa Google z tymi danymi na innej, pierwsza karta musi zawierać logo Google. Jeśli Twoja aplikacja używa pól wyszukiwania z autouzupełnianiem lub bez niego, logo musi być wyświetlane w tekście.
Logo Google powinno być umieszczone w lewym dolnym rogu mapy, a informacje o autorze umieszczone w prawym dolnym rogu powinny znajdować się na mapie jako całości, a nie pod mapą ani innym miejscem w aplikacji. Na przykładzie poniżej widać logo Google w lewym dolnym rogu mapy, a informacje o autorze – w prawym dolnym rogu.
Do użytku na jasnym tle | Do użytku na ciemnym tle |
---|---|
Ten plik ZIP zawiera logo Google w odpowiednim rozmiarze dla aplikacji na komputery oraz na Androida i iOS. Nie można w żaden sposób zmieniać rozmiaru logo ani go modyfikować.
Pobierz: google_logo.zip
Nie modyfikuj atrybucji. Nie usuwaj, nie zasłaniaj ani nie przycinaj informacji o autorze. W tekście nie można używać logo Google (np. „Te mapy pochodzą z: [Google_logo]”).
Dbaj o to, aby informacje o atrybucji były zawsze aktualne. Jeśli używasz zrzutów ekranu ze zdjęciami Google, które nie zostały umieszczone bezpośrednio na stronie, podaj standardową informację o autorze w takiej postaci, w jakiej jest widoczna na zdjęciu. W razie potrzeby możesz dostosować styl i umiejscowienie tekstu z informacjami o autorze, o ile mieści się on blisko treści i jest czytelny dla przeciętnego użytkownika lub czytelnika. Nie możesz odsunąć informacji o autorze za treści, np. do końca książki, w informacjach o autorze plików lub programu albo w stopce witryny.
Uwzględnij zewnętrznych dostawców danych. Niektóre dane i zdjęcia w naszych usługach do mapowania pochodzą od dostawców innych niż Google. Jeśli używasz takich zdjęć, tekst Twojej informacji musi zawierać nazwę „Google” i odpowiednich dostawców danych, np. „Dane map: Google, Maxar Technologies”. Jeśli w zdjęciach wymieniono zewnętrznych dostawców danych, uwzględnienie wyłącznie słowa „Google” lub logo Google nie jest prawidłowe.
Jeśli korzystasz z Google Maps Platform na urządzeniu, na którym wyświetlanie atrybucji jest niepraktyczne, skontaktuj się z zespołem sprzedaży Google, aby omówić licencje odpowiednie do Twojego przypadku użycia.
Inne wymagania dotyczące atrybucji
Postępuj zgodnie z tymi instrukcjami, aby pobierać dane atrybucji innych firm i wyświetlać je w swojej aplikacji.
Pobieranie informacji o źródłach z miejsca
Jeśli aplikacja wyświetla informacje uzyskane przez wywołanie funkcji get place by ID, musi też wyświetlać zewnętrzne atrybucje uzyskanych szczegółów miejsca.
Interfejs API zwraca obiekt Place
. Aby pobrać atrybucje z obiektu Place
, wywołaj Place.getAttributions()
.
Metoda zwraca List
z String
obiektów 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.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 atrybucji zdjęcia
Jeśli aplikacja wyświetla zdjęcia miejsc,
informacje o ich autorach muszą być widoczne w przypadku każdego zdjęcia, które je zawiera.
PhotoMetadata
, może zawierać 2 rodzaje atrybucji:
- Atrybucja: ciąg znaków atrybucji, do którego dostęp ma
PhotoMetadata.getAttributions()
. - AuthorAttributions – obiekt
AuthorAttributions
, do którego dostęp uzyskujePhotoMetadata.getAuthorAttributions()
.
Aby uzyskać informacje o atrybucji zdjęcia oznaczone jako ciąg znaków, wywołaj polecenie PhotoMetadata.getAttributions()
. Zwraca ona sekwencję znaków HTML lub pusty ciąg znaków, jeśli nie ma informacji o atrybucji.
// 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 1 na atrybucję 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();
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 swojej aplikacji.
Jeśli chcesz, aby opinie dodane przez użytkowników Google były wyświetlane, imię i nazwisko autora musisz umieścić blisko siebie. Zalecamy podanie zdjęcia autora i link do jego profilu, jeśli jest ono dostępne w polu informacji o autorze obiektu Review
. Poniższy przykład przedstawia opinię
o parku:
Google zaleca też wyświetlanie informacji o sposobie sortowania opinii według użytkowników.
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 zewnętrznych atrybucji
Informacje o źródłach zewnętrznych obejmują treści i linki w formacie HTML, które musisz zachować i wyświetlić użytkownikom w formacie, w jakim zostały podane. Zalecamy wyświetlanie tych informacji pod szczegółami miejsca.
Interfejs API generuje atrybucje dla wszystkich miejsc używanych przez aplikację. Są one podawane dla każdego wywołania interfejsu API, a nie według miejsca.
Jednym ze sposobów wyświetlania atrybucji jest użycie
TextView
.
Na przykład:
TextView attributionsText = (TextView) findViewById(R.id.attributions); String thirdPartyAttributions = place.getAttributions(); attributionsText.setText(thirdPartyAttributions);
Przykład atrybucji osób trzecich
Listings by <a href="https://www.example.com/">Example Company</a>
Wytyczne dotyczące stylu w przypadku atrybucji Google
Jeśli nie możesz użyć logo Google do pobrania, poniżej znajdziesz wskazówki dotyczące stylu dotyczące informacji Google w kodach CSS i HTML.
Pusty obszar
Wielkość pustego obszaru wokół logo powinna być równa wysokości litery „G” w Google lub od niej większa.
Odstęp między treścią informacji o źródle a logo Google powinien być o połowę szerokości litery „G”.
Czytelność
Informacje o publikacji powinny być zawsze czytelne i czytelne oraz pojawiać się w odpowiednich wariantach kolorystycznych na danym tle. Zawsze upewnij się, że dla wybranej wersji logo masz wystarczający kontrast.
Kolor
Używaj tekstu Google Material Gray 700 na białym lub jasnym tle o maksymalnym zakresie 0–40% czerni.
#5F6368 RGB 95 99 104 HSL 213 5 39 HSB 213 9 41
Na ciemniejszym tle, nad fotografiami lub w innym miejscu zdjęć dodaj biały tekst.
#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” wyrenderuje tekst „Google” z odpowiednią czcionką, kolorem i odstępami 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;