Políticas do SDK do Places para Android

Este tópico apresenta os requisitos de atribuição para todos os aplicativos desenvolvidos com o SDK do Places para Android, incluindo o serviço Place Autocomplete que faz parte dessa API. Para mais termos da Plataforma Google Maps, consulte os 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 Android, precisará disponibilizar os Termos de Uso e a Política de Privacidade com seu aplicativo, de acordo com as diretrizes descritas no seu Contrato com o Google:

  • Os Termos de Uso e a Política de Privacidade precisam ser disponibilizados publicamente.
  • Você precisa declarar explicitamente nos Termos de Uso do aplicativo que, ao usá-lo, os usuários estão sujeitos aos Termos de Serviço do Google.
  • Na sua Política de Privacidade, informe aos usuários que você está usando as APIs Google Maps e incorpore 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 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 na app store relevante e no menu de configurações dele.

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 Android estão sujeitos aos termos do seu Contrato com o Google. Sujeito aos termos do seu Contrato, não é permitido fazer uma pré-busca, indexar, armazenar ou armazenar em cache qualquer Conteúdo, exceto sob as condições limitadas estabelecidas nos termos.

O ID de lugar, usado para identificar um local de maneira exclusiva, está isento das restrições de armazenamento em cache. O ID de lugar é retornado no campo "place_id" nas respostas do SDK do Places para Android. Saiba como salvar, atualizar e gerenciar IDs de lugares no Guia de IDs de lugares.

Mostrar resultados do SDK do Places para Android

Você pode exibir os resultados do SDK do Places para Android em um mapa do Google Maps ou sem um mapa. Se você quiser mostrar resultados do SDK do Places para Android em um mapa, eles precisarão ser mostrados em um mapa do Google. É proibido usar os dados do SDK do Places para Android em mapas que não sejam 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. Aplicativos que exibem dados do Google na mesma tela que um mapa do Google não precisam fornecer mais atribuições ao Google.

Se seu aplicativo exibir dados em uma página ou visualização que não exibe também um mapa do Google Maps, será necessário exibir um logotipo do Google com esses dados. Por exemplo, se o aplicativo exibe 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 app usa campos de pesquisa com ou sem preenchimento automático, o logotipo precisa ser exibido inline.

O logotipo do Google deve 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 app. 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.

posicionamento da atribuição de política

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

Fazer o download: google_logo.zip

Não modifique a atribuição. Não remova, oculte ou corte as informações de atribuição. Não é permitido usar logotipos do Google inline (por exemplo, "Estes mapas são do [Google_logo]").

Mantenha a atribuição próxima. Se estiver usando capturas de tela de 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 ele esteja próximo ao conteúdo e legível para o espectador ou leitor médio. Não é permitido afastar a atribuição do conteúdo, como ao final do livro, aos créditos de arquivos ou programas ou ao rodapé do site.

Inclua provedores de dados de terceiros. Alguns dados e imagens dos nossos produtos de mapeamento vêm de outros provedores, além do Google. Se você usa essas imagens, o texto da atribuição precisa 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 adequada apenas de "Google" ou do logotipo do Google não é considerada.

Se você está 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 conversar sobre licenças apropriadas para seu caso de uso.

Outros requisitos de atribuição

Siga estas instruções para recuperar atribuições de terceiros e para exibir as atribuições no seu app.

Recuperar atribuições de um lugar

Se o app exibir informações coletadas chamando get place by ID, ele também precisará exibir atribuições de terceiros para os detalhes do local recebidos.

A API retorna um objeto Place. Para extrair atribuições do objeto Place, chame Place.getAttributions(). O método retorna uma List de objetos String ou um valor nulo se não houver atribuições a serem mostradas.

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.
    }
  }
);

Exibir atribuições para uma foto

Se seu app exibe fotos, é necessário mostrar atribuições para cada foto que as tiver. PhotoMetadata, pode conter um destes dois tipos de atribuições:

Para conferir as atribuições de string de uma foto, chame PhotoMetadata.getAttributions(). O método retorna uma sequência de caracteres HTML ou uma string vazia se não houver atribuições a serem mostradas.

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the attribution text.
String attributions = photoMetadata.getAttributions();

Para receber as atribuições de autor para uma foto, chame PhotoMetadata.getAuthorAttributions(). O método retorna um objeto AuthorAttributions. Esse objeto contém um List de objetos AuthorAttribution, um por atribuição de autor.

// 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();

Exibir uma avaliação

Um objeto Place pode conter até cinco avaliações, em que cada avaliação é representada por um objeto Review. Também é possível exibir essas avaliações no seu app.

Ao exibir avaliações de contribuições de usuários do Google, coloque o nome do autor próximo. Quando disponível no campo de atribuição de autor do objeto Review, recomendamos incluir a foto do autor e o link para o perfil dele. A imagem a seguir mostra um exemplo da avaliação de um parque:

Exibição da atribuição ao autor

O Google também recomenda que você mostre como as avaliações estão sendo classificadas para o usuário final.

Para acessar as avaliações, chame 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.
    }
});

Exibir atribuições de terceiros

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

A API gera atribuições para todos os locais usados pelo app. As atribuições são fornecidas por chamada de API, não por local.

Uma maneira de mostrar as atribuições é com um TextView. Exemplo:

TextView attributionsText = (TextView) findViewById(R.id.attributions);
String thirdPartyAttributions = place.getAttributions();
attributionsText.setText(thirdPartyAttributions);

Exemplo de uma atribuição de terceiros

Listings by <a href="https://www.example.com/">Example Company</a>

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, caso você não consiga 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 da atribuição e o logotipo do Google precisa ter metade da largura do "G".

Legibilidade

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

Cor

Use o texto Google Material Gray 700 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 de não preenchimento, 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.

Exemplo de CSS

O CSS a seguir, quando aplicado ao texto "Google", renderiza "Google" com a fonte, a cor e o espaçamento apropriados 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;