Zasady dotyczące pakietu Miejsca SDK na iOS

Ten dokument zawiera wymagania dotyczące wszystkich aplikacji opracowanych za pomocą pakietu Places SDK na iOS, w tym usługi autouzupełniania miejsc, która jest częścią tego interfejsu API. Bardziej ogólne informacje dla deweloperów Map Google znajdziesz w Warunkach korzystania z usługi Google Maps Platform.

Udostępnianie warunków korzystania z usługi i polityki prywatności

Jeśli tworzysz aplikację Places SDK dla iOS, musisz w aplikacji udostępnić Warunki korzystania z usługi i Politykę prywatności, które są zgodne z wytycznymi zawartymi w Umowie z Google:

  • Warunki korzystania z usługi i Polityka prywatności muszą być dostępne publicznie.
  • W Warunkach korzystania z aplikacji musisz wyraźnie określić, że korzystanie z niej oznacza, że użytkownicy są związani Warunkami korzystania z usług Google.
  • Musisz powiadomić użytkowników w Polityce prywatności, że korzystasz z interfejsów API Map Google, i uwzględnić te informacje w Polityce prywatności Google.

Zalecane miejsce udostępnienia Warunków korzystania z usługi i Polityki prywatności zależy od platformy aplikacji.

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, buforowanie lub przechowywanie treści

Aplikacje korzystające z pakietu SDK Miejsc dla systemu iOS podlegają warunkom Umowy z Google. Zgodnie z warunkami Umowy Użytkownik nie może pobierać z wyprzedzeniem, indeksować, przechowywać ani zapisywać w pamięci podręcznej żadnych Treści z wyjątkiem ograniczonych warunków określonych w warunkach.

Pamiętaj, że identyfikator miejsca używany do jednoznacznej identyfikacji miejsca jest wykluczony z ograniczeń dotyczących zapisywania w pamięci podręcznej. W przypadku odpowiedzi iOS identyfikator miejsca jest zwracany w polu `place_id` w pakiecie Places SDK. Więcej informacji o zapisywaniu i odświeżaniu identyfikatorów miejsc oraz zarządzaniu nimi znajdziesz w przewodniku na temat identyfikatorów miejsc.

Wyświetlanie wyników z pakietu SDK Miejsc dla systemu iOS

Wyniki z pakietu SDK Miejsc dla systemu iOS można wyświetlić w Mapach Google lub bez mapy. Jeśli chcesz wyświetlać na mapie wyniki z pakietu Places SDK dla iOS, muszą być one widoczne na Mapie Google. Nie można używać pakietu Places SDK dla danych iOS na mapie, która nie jest mapą Google.

Jeśli Twoja aplikacja wyświetla dane w Mapach Google, zostanie uwzględnione logo Google, które nie może zostać zmienione. Aplikacje, które wyświetlają dane Google na tym samym ekranie co Mapy Google, nie muszą dodatkowo podawać danych Google.

Jeśli Twoja aplikacja wyświetla dane na stronie lub w widoku, w którym nie są wyświetlane Mapy Google, musisz wraz z nimi wyświetlać logo Google. Jeśli na przykład w aplikacji są wyświetlane dane Google na jednej karcie, a w Mapach Google z tymi danymi na innej, na pierwszej karcie musi być widoczne logo Google. Jeśli aplikacja korzysta z pól wyszukiwania z autouzupełnianiem lub bez nich, logo musi być wyświetlane w tekście.

Logo Google powinno być umieszczone w lewym dolnym rogu mapy, a informacje o autorze utworu umieszczone w prawym dolnym rogu. Oba te elementy powinny być widoczne jako całość na mapie, a nie pod mapą lub innym miejscem w aplikacji. Na poniższym przykładzie mapy widać logo Google w lewym dolnym rogu, a informacje o autorze w prawym dolnym rogu.

miejsce docelowe atrybucji zasad

Poniższy plik ZIP zawiera logo Google we właściwym rozmiarze dla aplikacji na komputery oraz na Androida i iOS. Nie można zmieniać rozmiaru ani modyfikować tych logo w żaden sposób.

Pobierz: google_logo.zip

Nie modyfikuj atrybucji. Nie usuwaj, nie zasłaniaj ani nie wycinaj informacji o autorze. Nie możesz używać w tekście logo Google (np. „Te mapy pochodzą z [Google_logo]”).

Zadbaj o to, aby informacje o atrybucji były jak najbardziej trafne. Jeśli używasz zrzutów ekranu ze Zdjęć Google poza umieszczaniem bezpośrednio na stronie, podaj standardowe źródło w takiej postaci, w jakiej widać na zdjęciu. Jeśli to konieczne, możesz dostosować styl i umiejscowienie tekstu z informacjami o autorze, pod warunkiem że znajduje się on blisko treści i jest czytelny dla przeciętnego użytkownika lub czytelnika. Nie możesz przenosić informacji o pochodzeniu danych poza treść, np. na końcu książki, w informacjach o plikach lub programie bądź w stopce witryny.

Uwzględnij zewnętrznych dostawców danych. Niektóre dane i zdjęcia w naszych usługach mapowania pochodzą od dostawców innych niż Google. W przypadku korzystania z takich zdjęć tekst źródła danych musi zawierać nazwę „Google” i nazwę odpowiedniego dostawcy danych, np. „Dane map: Google, Maxar Technologies”. Jeśli przy zdjęciach są cytowani zewnętrzni dostawcy danych, samo dodanie nazwy „Google” lub logo Google nie jest prawidłową informacją o pochodzeniu danych.

Jeśli korzystasz z Google Maps Platform na urządzeniu, na którym wyświetlanie informacji o źródłach nie jest racjonalne, skontaktuj się z zespołem sprzedaży Google, aby omówić licencje odpowiednie do Twojego zastosowania.

Inne wymagania dotyczące atrybucji

Źródła danych o dostawcach zewnętrznych zawierają treści i linki, które musisz wyświetlać użytkownikowi w formacie, w jakim zostały przekazane. Google zaleca, aby aplikacja wyświetlała te informacje pod szczegółami miejsca.

Zewnętrzne źródła konwersji zwracane przez interfejs API nie zawierają atrybucji Google. Informacje o autorze musisz dodać samodzielnie zgodnie z opisem w sekcji Wyświetlanie logo i informacji o autorze Google.

Aby pobrać źródła zewnętrzne dotyczące pojedynczego miejsca lub kolekcji miejsc, wykonaj te czynności.

Pobieranie informacji o autorze utworu

Jeśli pobierzesz miejsce, uzyskując jego identyfikator, możesz pobrać jego źródło z usługi attributions na stronie GMSPlace.

attributions są udostępniane jako obiekt NSAttributedString.

Pobieranie informacji o autorach kolekcji miejsc

Jeśli aplikacja wyświetla informacje uzyskane po przesłaniu żądania informacji o aktualnym miejscu urządzenia, musi ona wyświetlać informacje o źródle informacji o miejscu, które zostały udostępnione przez inne firmy. Atrybucja wszystkich miejsc pobranych w żądaniu możesz pobrać z usługi attributions na stronie GMSPlaceLikelihoodList.

attributions są dostarczane jako obiekt NSAttributedString, który możesz wyświetlać i wyświetlać w taki sam sposób jak obiekt attributions w jednym miejscu, co opisaliśmy powyżej.

Wyświetlanie informacji o autorze zdjęcia

Jeśli aplikacja wyświetla zdjęcia, w przypadku każdego zdjęcia, które je zawiera, musisz pokazywać attributions i authorAttributions.

Swift

GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in
  if let error = error {
    // TODO: handle the error.
    print("Error: \(error.description)")
  } else {
    // Get attribution for the first photo in the list.
    if let photo = photos?.results.first {
      let attributions = photo.attributions
    }
  }
}
    

Objective-C

[[GMSPlacesClient sharedClient]
    lookUpPhotosForPlaceID:placeID
      callback:^(GMSPlacePhotoMetadataList *_Nullable photos,
                  NSError *_Nullable error) {
        if (error) {
          // TODO: handle the error.
          NSLog(@"Error: %@", [error description]);
        } else {
          // Get attribution for the first photo in the list.
          if (photos.results.count > 0) {
            GMSPlacePhotoMetadata *photo = photos.results.firstObject;
            NSAttributedString *attributions = photo.attributions;
          }
        }
      }];
    

Wyświetl opinię

Obiekt GMSPlace może zawierać do 5 opinii, z których każda jest reprezentowana przez obiekt GMSPlaceReview. Opcjonalnie możesz je wyświetlić w swojej aplikacji.

Przy wyświetlaniu opinii przesłanych przez użytkowników Google musisz umieścić nazwisko autora w pobliżu. Zalecamy dołączenie zdjęcia autora i link do jego profilu, jeśli jest ono dostępne w polu informacji o autorze w obiekcie GMSPlaceReview. Poniższy obraz przedstawia przykładową opinię o parku:

Wyświetlanie informacji o autorze

Zalecamy też wyświetlanie sposobu sortowania opinii przez użytkowników.

Aby uzyskać dostęp do opinii:

Swift

// Define a Place ID.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let myProperties: [GMSPlaceProperty] = [.name, .website, .reviews]

// Create the GMSFetchPlaceRequest object.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    let firstReview: GMSPlaceReview = place.reviews![0]

    // Use firstReview to access review text, authorAttribution, and other fields.

  }
})

Objective-C

// Define a Place ID.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return, including reviews.
NSArray<GMSPlaceProperty *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite,GMSPlacePropertyReviews];

GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
  if (error) {
    // TODO: handle the error.
    NSLog(@"Error: %@", [error description]);
  } else {
    // Get first review.
    GMSPlaceReview *firstReview = [place reviews][0];

    // Use firstReview to access review text, authorAttribution, and other fields.

  }
}];

Sieć reklamowa – atrybucje zewnętrzne

Źródła danych o dostawcach zewnętrznych są podawane jako obiekty NSAttributedString zawierające treści i linki, które musisz zachować i wyświetlić użytkownikowi.

Zalecanym sposobem wyświetlania atrybucji jest użycie atrybutu UITextView, ponieważ linki w nich muszą działać. Aby linki działały, ustaw przedstawiciela na stronie UITextView i ustaw metodę shouldInteractWithURL obiektu UITextViewDelegate tak, aby zwracała wartość YES.

Swift

...
  self.attributionTextView.delegate = self
...

// MARK: - UITextViewDelegate

func textView(textView: UITextView, shouldInteractWithURL URL: NSURL,
  inRange characterRange: NSRange) -> Bool {
  // Make links clickable.
  return true
}
    

Objective-C

...
  self.attributionTextView.delegate = self;
...

#pragma mark - UITextViewDelegate

- (BOOL)textView:(UITextView *)textView
    shouldInteractWithURL:(NSURL *)url
                  inRange:(NSRange)characterRange {
  // Make links clickable.
  return YES;
}
    

Przykład atrybucji innej firmy

Atrybucja firm zewnętrznych zazwyczaj składa się z tekstu i linku. Na przykład:

Informacje o firmie Przykładowa firma

W powyższym przykładzie zakres tekstowy Przykładowa firma jest objęty atrybutem NSLink.

Wytyczne dotyczące stylu na potrzeby atrybucji Google

Poniżej znajdziesz wskazówki dotyczące stylu atrybucji Google w CSS i HTML, jeśli nie możesz użyć logo Google do pobrania.

Pusty obszar

Wielkość pustego obszaru wokół logo powinna być równa wysokości litery „G” w Google lub większa.

Odległość między tekstem informacji o źródle a logo Google powinna być o połowę szerokości litery „G”.

Czytelność

Podpis powinien zawsze być wyraźny i czytelny oraz mieć odpowiedni kolor na danym tle. Zawsze dbaj o odpowiedni kontrast dla wybranej odmiany logo.

Kolor

Użyj tekstu Google Material Gray 700 na białym lub jasnym tle o zakresie 0%–40% maksymalnego odcienia czerni.

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

Na ciemniejszych tłach oraz na zdjęciach i wzorach braku aktywności użyj białego tekstu jako autora i informacji o autorze.

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Czcionka

Użyj czcionki Roboto.

Przykładowy arkusz CSS

Po zastosowaniu takiego kodu CSS do tekstu „Google” tekst „Google” zostałby wyrenderowany z użyciem odpowiedniej czcionki, koloru i odstępów 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;