Políticas do SDK do Places para iOS

Este documento lista os requisitos específicos para todos os aplicativos desenvolvidos com o SDK do Places para iOS, inclusive o serviço Place Autocomplete que faz parte dessa API. Veja mais informações gerais para desenvolvedores do Google Maps nos Termos de Serviço da Plataforma Google Maps.

Fornecimento de termos de uso e política de privacidade

Se você desenvolver um aplicativo do SDK do Places para iOS, será necessário disponibilizar os Termos de Uso e uma Política de Privacidade com seu aplicativo que atenda às diretrizes descritas no seu Contrato com o Google:

  • Os Termos de Uso e a Política de Privacidade precisam ser disponibilizados para o público.
  • Você precisa declarar explicitamente nos Termos de Uso do aplicativo que, ao usar o aplicativo, os usuários estão sujeitos aos Termos de Serviço do Google.
  • Você precisa notificar os usuários na Política de Privacidade que está usando as APIs Google Maps e incorporar a Política de Privacidade do Google para referência.

O local recomendado para disponibilizar os Termos de Uso e a Política de Privacidade depende da plataforma do seu aplicativo.

Apps para dispositivos móveis

Ao desenvolver um app para dispositivos móveis, é recomendável fornecer um link para os Termos de Uso e a Política de Privacidade na página de download do aplicativo na app store relevante e no menu de configurações.

Aplicativos da Web

Ao desenvolver um aplicativo da Web, é recomendável incluir um link para os Termos de Uso e a Política de Privacidade no rodapé do site.

Pré-busca, armazenamento em cache ou armazenamento de conteúdo

Os aplicativos que usam o SDK do Places para iOS estão sujeitos aos termos do seu Contrato com o Google. Sujeito aos termos do seu Contrato, não é permitido pré-buscar, indexar, armazenar ou armazenar em cache qualquer Conteúdo, exceto sob as condições limitadas indicadas nos termos.

Mostrar resultados do SDK do Places para iOS

Você pode exibir os resultados do SDK do Places para iOS em um mapa do Google Maps ou sem ele. Se você quiser mostrar resultados do SDK do Places para iOS em um mapa, eles precisarão ser exibidos em um mapa do Google Maps. É proibido usar os dados do SDK do Places para iOS em mapas que não sejam do Google.

Se o aplicativo exibir dados em um mapa do Google Maps, o logotipo do Google será incluído e não poderá ser alterado. Os aplicativos que exibem dados do Google na mesma tela de um mapa do Google não precisam fornecer atribuições adicionais ao Google.

Caso seu aplicativo exiba dados em uma página ou visualização que não exibe também um mapa do Google Maps, é necessário exibir um logotipo do Google com esses dados. Por exemplo, se o aplicativo exibir dados do Google em uma guia e um mapa do Google com esses dados em outra, a primeira guia precisa mostrar o logotipo do Google. Se o aplicativo usa campos de pesquisa com ou sem preenchimento automático, o logotipo precisa ser exibido inline.

O logotipo do Google precisa ser colocado no canto inferior esquerdo do mapa, com as informações de atribuição posicionadas no canto inferior direito, sendo que ambas precisam ser apresentadas no mapa como um todo, e não abaixo do mapa ou de outro lugar dentro do aplicativo. O exemplo de mapa a seguir mostra o logotipo do Google no canto inferior esquerdo do mapa e a atribuição no canto inferior direito.

O arquivo ZIP a seguir contém o logotipo do Google nos tamanhos corretos para aplicativos para computador, Android e iOS. Não é permitido redimensionar nem modificar esses logotipos de nenhuma forma.

Fazer o download: google_logo.zip

Não modifique a atribuição. Não remova, oculte nem corte as informações de atribuição. Não é possível usar os logotipos do Google inline (por exemplo, "Estes mapas são de [logotipo do Google]").

Mantenha a atribuição próxima. Se você estiver usando capturas de tela das imagens do Google fora de incorporações diretas, inclua a atribuição padrão como aparece na imagem. Se necessário, você pode personalizar o estilo e o posicionamento do texto de atribuição, desde que o texto esteja próximo ao conteúdo e legível para o usuário ou leitor médio. Não é permitido afastar a atribuição do conteúdo, como ao final do livro, os créditos dos arquivos ou do programa ou o rodapé do site.

Inclua provedores de dados de terceiros. Alguns dos dados e imagens dos nossos produtos de mapeamento são provenientes de outros provedores além do Google. Se você usar essas imagens, o texto da sua atribuição precisará mostrar o nome "Google" e os provedores de dados relevantes, como "Dados do mapa: Google, Maxar Technologies". Quando há provedores de dados de terceiros citados com as imagens, a atribuição apenas de "Google" ou do logotipo do Google não é adequada.

Se você estiver usando a Plataforma Google Maps em um dispositivo em que a exibição de atribuição não é prática, entre em contato com a equipe de vendas do Google para discutir as licenças apropriadas para seu caso de uso.

Outros requisitos de atribuição

As atribuições para provedores terceirizados contêm conteúdo e links que você precisa exibir ao usuário no formato em que são fornecidos. O Google recomenda que seu app mostre essas informações abaixo dos detalhes do lugar.

As atribuições de terceiros retornadas pela API não incluem a do Google. Você precisa incluir essa atribuição, conforme descrito em Como exibir o logotipo e as atribuições do Google.

Siga estas instruções para recuperar atribuições de terceiros para um único lugar ou um conjunto de lugares.

Recuperar atribuições para um único local

Ao recuperar um local recebendo um local por ID, é possível recuperar as atribuições dele na propriedade attributions em GMSPlace.

As attributions são fornecidas como um objeto NSAttributedString.

Recuperar atribuições para um conjunto de locais

Se o app exibe informações coletadas solicitando o local atual do dispositivo, ele precisa mostrar atribuições de terceiros para os detalhes do local mostrados. É possível recuperar as atribuições de todos os lugares recuperados na solicitação na propriedade attributions em GMSPlaceLikelihoodList.

O attributions é fornecido como um objeto NSAttributedString, que você pode acessar e mostrar da mesma forma que o attributions em um único lugar, conforme descrito acima.

Exibir atribuições para uma foto

Se seu app exibe fotos, é necessário mostrar atribuições para cada foto que as tiver. Para receber atribuições para uma foto, chame GMSPlacePhotoMetadata.attributions. Essa propriedade será uma NSAttributedString, ou nil se não houver atribuições para exibir.

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;
                      }
                    }
                  }];
    

Exibir atribuições de terceiros

As atribuições a provedores terceirizados são fornecidas como objetos NSAttributedString que contêm conteúdo e links que você precisa preservar e mostrar ao usuário.

A maneira recomendada de mostrar as atribuições é com um UITextView, porque os links nas atribuições precisam funcionar. Para garantir que os links funcionem, defina um delegado no UITextView e defina o método shouldInteractWithURL do UITextViewDelegate para retornar 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;
}
    

Exemplo de uma atribuição de terceiros

Uma atribuição de terceiros geralmente consiste em texto com um link. Por exemplo:

Listagens por exemplo de empresa

No exemplo acima, o intervalo de texto Exemplo de empresa é coberto por um atributo NSLink.

O ID de lugar, usado para identificar um lugar de forma exclusiva, está isento da restrição de armazenamento em cache. Portanto, você pode armazenar valores de IDs de lugares por tempo indefinido. O ID é retornado no campo place_id nas respostas do SDK do Places para iOS.

Diretrizes de estilo para a atribuição do Google

Confira a seguir as diretrizes de estilo para atribuições do Google em CSS e HTML se você não conseguir usar o logotipo do Google disponível para download.

área de respiro

A quantidade de espaço livre ao redor do logotipo completo precisa ser igual ou maior que a altura do "G" no Google.

O espaço entre o texto de atribuição e o logotipo do Google precisa ser metade da largura do "G".

Legibilidade

A assinatura precisa sempre ser clara, legível e aparecer na variação de cor correta para um determinado plano de fundo. Sempre forneça contraste suficiente para a variação do logotipo selecionada.

Cor

Use o texto em cinza 700 do Google Material em um fundo branco ou claro que use uma tonalidade máxima de preto de 0% a 40%.

Serviços
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

Em planos de fundo mais escuros e sobre padrões de fotografia ou não muito movimentado, use texto branco para assinatura e atribuição.

Serviços
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Fonte

Use a fonte Roboto.

Exemplo de CSS

O CSS a seguir, quando aplicado ao texto "Google", renderiza "Google" com a fonte, a cor e o espaçamento adequados em um fundo branco ou claro.

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;