Políticas do SDK do Places para iOS

Neste documento, listamos os requisitos específicos a todos os aplicativos desenvolvidos com o SDK do Places para iOS, incluindo 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

Ao desenvolver um aplicativo do SDK do Places para iOS, é necessário disponibilizar os Termos de Uso e a Política de Privacidade do aplicativo que atenda às diretrizes descritas no Contrato com o Google:

  • Os Termos de Uso e a Política de Privacidade precisam estar disponíveis publicamente.
  • É necessário declarar explicitamente nos Termos de Uso do app 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 sua Política de Privacidade de que você está usando as APIs Google Maps e incorporar por referência a Política de Privacidade do Google.

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

Apps para dispositivos móveis

Se você estiver desenvolvendo um app para dispositivos móveis, recomendamos fornecer um link para os Termos de Uso e a Política de Privacidade na página de download do app na app store relevante e em um menu de configurações.

Aplicativos da Web

Se você estiver desenvolvendo um aplicativo da Web, é recomendável fornecer 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 vinculados aos termos do seu Contrato com o Google. Sujeito aos termos do seu Contrato, não é permitido fazer pré-buscas, armazenar, indexar ou armazenar em cache qualquer conteúdo, exceto de acordo com as condições estabelecidas nos termos.

Exibir resultados do SDK do Places para iOS

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

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

Se o aplicativo exibir dados em uma página ou visualização que também não exibe um mapa do Google Maps, será 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 guia, a primeira guia precisará mostrar o logotipo do Google. Se o aplicativo usar campos de pesquisa com ou sem preenchimento automático, o logotipo precisará ser exibido in-line.

O logotipo do Google precisa ser colocado no canto inferior esquerdo do mapa, com as informações de atribuição no canto inferior direito, e ambas precisam estar no mapa apresentado como um todo, e não abaixo do mapa ou de outro lugar no 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.

Download:google_logo.zip

Não modifique a atribuição. Não remova, oculte ou corte as informações de atribuição. Não é possível usar logotipos do Google in-line (por exemplo, "Esses mapas são de [Google_logo]").

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

Inclua provedores de dados terceirizados. Alguns dados e imagens dos nossos produtos de mapeamento vêm de provedores diferentes do Google. Se você usar essas imagens, o texto da sua atribuição precisará dizer o nome "quot;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, o que inclui somente "Google" ou o logotipo do Google não é a atribuição adequada.

Se você estiver usando a Plataforma Google Maps em um dispositivo em que a exibição da 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 de terceiros contêm conteúdo e links que você precisa mostrar ao usuário no formato em que é fornecido. 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 atribuição do Google. Você precisa incluir essa atribuição por conta própria, 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 lugar recebendo um local por ID, é possível recuperar as atribuições desse lugar da propriedade attributions no GMSPlace.

O attributions é fornecido como um objeto NSAttributedString.

Recuperar atribuições para um conjunto de locais

Se o app exibe informações recebidas solicitando o local atual do dispositivo, ele precisa exibir atribuições de terceiros para os detalhes do lugar exibidos. É possível recuperar as atribuições de todos os locais recuperados na solicitação, usando a propriedade attributions em GMSPlaceLikelihoodList.

O attributions é fornecido como um objeto NSAttributedString, que pode ser acessado e exibido da mesma forma que o attributions em um único lugar, conforme descrito acima.

Exibir atribuições para uma foto

Se o app exibe fotos, é necessário mostrar atribuições para cada foto que as tiver. Para receber atribuições de 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 para provedores de terceiros são fornecidas como objetos NSAttributedString que têm conteúdo e links que precisam ser preservados e exibidos ao usuário.

A maneira recomendada de exibir 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 seu 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 local de maneira exclusiva está isento da restrição de armazenamento em cache. Portanto, é possível armazenar valores de ID de lugar indefinidamente. O ID de lugar é retornado no campo place_id nas respostas do SDK do Places para iOS.

Diretrizes de estilo para atribuição do Google

Veja 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 para download.

Espaço livre

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

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

Legibilidade

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

Cor

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

Google
#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 ocupados, use texto branco para assinatura e atribuição.

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

Fonte

Use a fonte Roboto (link em inglês).

Exemplo de CSS

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

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;