Zasady dotyczące pakietu SDK Miejsc na Androida

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.

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.

miejsce docelowe atrybucji zasad

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, musisz wskazać ich źródła. PhotoMetadata, może zawierać 2 rodzaje atrybucji:

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:

Wyświetlanie informacji o autorze

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.

Google
#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.

Google
#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;