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

Warunki korzystania z usługi i polityka prywatności

Jeśli opracowujesz pakiet SDK Miejsca na potrzeby aplikacji na Androida, musisz udostępnić Warunki użytkowaniaPolitykę prywatności zgodne z wytycznymi opisanymi w umowie z Google:

  • Warunki korzystania z usługiPolityka prywatności muszą być publicznie dostępne.
  • Warunkach korzystania z aplikacji musisz wyraźnie stwierdzić, że korzystanie z aplikacji jest równoznaczne z zaakceptowaniem Warunków korzystania z usługi Google.
  • 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 aplikacjiPolityki prywatności, zależy od platformy aplikacji.

Aplikacja mobilna

Jeśli tworzysz aplikację mobilną, zalecamy umieszczenie linku do Warunków korzystania z usługiPolityki 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ługiPolityki 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.

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ć widoczne na mapie 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.

policy attribution placement

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 z obrazami Google poza bezpośrednim umieszczeniem, dodaj standardowe informacje o źródle, które pojawiają się na zdjęciu. W razie potrzeby możesz dostosować styl i miejsce umieszczenia tekstu z podaniem autorstwa, 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 korzystasz z Google Maps Platform na urządzeniu, na którym wyświetlanie informacji o pochodzeniu nie jest praktyczne, skontaktuj się z zespołem handlowym Google, 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 szczegółów miejsca.

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, na którym się one znajdują. PhotoMetadata, może zawierać jeden z 2 typów atrybucji:

Aby uzyskać informacje o atrybutach ciągu tekstowego 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:

Header: About these results

Body: 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. Możesz też 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:

Wyświetlanie informacji o autorze

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 w przypadku każdego wywołania interfejsu API, a nie miejsca.

Jednym ze sposobów wyświetlania atrybucji jest użycie tagu 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ół bloku powinna być równa wysokości litery „G” w logo Google lub od niej większa.

Odstęp między tekstem dotyczącym atrybucji a logo Google powinien wynosić 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.

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

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” 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;