Políticas do SDK do Places para Android

Neste tópico, apresentamos 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 da API. Para conferir mais termos da Plataforma Google Maps, consulte os Termos de Serviço da Plataforma Google Maps.

Políticas

Esta seção descreve as políticas relevantes para o SDK do Places para Android. As políticas oferecem diretrizes e requisitos práticos de implementação para ajudar você a usar o Serviço corretamente e de acordo com as expectativas da Plataforma Google Maps.

Exceções às restrições de armazenamento em cache

O ID de lugar, usado para identificar um local de maneira exclusiva, está isento das restrições de armazenamento em cache. Portanto, é permitido armazenar valores de ID de local indefinidamente. Ele é retornado no campo place_id nas respostas da API. Aprenda a salvar, atualizar e gerenciar IDs no guia de IDs de lugar.

Países e territórios do Espaço Econômico Europeu

Esse produto tem Termos de Serviço diferentes para clientes com um endereço de faturamento no Espaço Econômico Europeu (EEE) e também pode ter funcionalidades diferentes. Antes de criar com a Plataforma Google Maps, leia os seguintes termos e informações específicos do EEE:

Se o endereço de faturamento não estiver no EEE, os seguintes Termos de Serviço serão aplicáveis a você:

Requisitos de atribuição do Google Maps

Esta seção fornece requisitos de atribuição e diretrizes para mostrar o Google Maps e o conteúdo nos seus aplicativos.

Exemplo de atribuição

Confira a seguir um exemplo de atribuição para o Kit de Interface do Places.

Exemplo de atribuição do Kit de Interface do Places em um mapa que não é do Google
Atribuição obrigatória aplicada ao componente compacto Place Details. Nesse mapa que não é do Google, a atribuição do Google Maps está claramente visível, e o conteúdo da Plataforma Google Maps é diferenciado visualmente de outros conteúdos.

Mostrar a atribuição do Google Maps

Você precisa seguir os requisitos de atribuição do Google Maps ao mostrar conteúdo das APIs da Plataforma Google Maps no seu app ou site. Não é necessário adicionar atribuição extra se o conteúdo for mostrado em um mapa do Google em que a atribuição já está visível.

Atribuição do Google Maps incluída

Para a atribuição do Google Maps já fornecida pela Plataforma Google Maps na interface do usuário, como no Kit de Interface do Places:

  • Não remova a atribuição incluída, independente de onde ela seja exibida. Não altere, oculte ou obscureça a atribuição e verifique se ela está claramente visível no plano de fundo.
  • Sempre diferencie visualmente o conteúdo da Plataforma Google Maps de outros conteúdos usando indicações da interface, como uma borda, cor de plano de fundo, sombra ou espaço em branco suficiente.
  • Ao fazer modificações visuais, você precisa obedecer a todos os requisitos de atribuição do Google Maps.

Sempre que possível, a atribuição precisa ser feita com o logotipo do Google Maps. Em casos em que o espaço é limitado, o texto Google Maps é aceitável. É preciso deixar claro para os usuários finais qual conteúdo é fornecido pelo Google Maps.

Esquerda: atribuição do logotipo do Google Maps. Direita: atribuição de texto do Google Maps.
Esquerda: atribuição do logotipo do Google Maps. Direita: atribuição de texto do Google Maps

Atribuição de logotipo

Siga estes requisitos para usar o logotipo do Google Maps no seu app ou site.
Variações aceitáveis para atribuição do logotipo do Google Maps
Variações aceitáveis para atribuição do logotipo do Google Maps

Baixar os logotipos do Google Maps

Use os arquivos oficiais do logotipo do Google Maps. Baixe os logotipos abaixo e siga as diretrizes desta seção.

Baixar os recursos de atribuição do Google Maps

Ao usar o logotipo do Google Maps, siga estas diretrizes.

  • Não modifique o logotipo de forma alguma.
  • Mantenha a proporção do logotipo para evitar distorções.
  • Use o logotipo com contorno em um plano de fundo preenchido, como um mapa ou uma imagem.
  • Use o logotipo sem contorno em um fundo simples, como uma cor sólida ou um gradiente sutil.

Especificação do tamanho do logotipo

Siga estas especificações de tamanho para o logotipo do Google Maps:
  • Altura mínima do logotipo:16 dp
  • Altura máxima do logotipo:19 dp
  • Espaço livre mínimo do logotipo:10 dp à esquerda, à direita e na parte de cima, 5 dp na parte de baixo

Para saber mais sobre dp, consulte Densidade de pixel no site do Material Design.

Logotipo do Google Maps mostrando o espaço livre mínimo e o intervalo de tamanho aceitável
Logotipo do Google Maps mostrando o espaço livre mínimo e o intervalo de tamanho aceitável

Acessibilidade do logotipo

Siga estes requisitos de acessibilidade para o logotipo do Google Maps:
  • Mantenha um contraste acessível entre o logotipo e o plano de fundo.
  • Inclua um rótulo de acessibilidade com o texto Google Maps.
Variações inaceitáveis e problemas de acessibilidade para a atribuição do logotipo do Google Maps
Variações inaceitáveis e problemas de acessibilidade para atribuição do logotipo do Google Maps

Atribuição de texto

Se o tamanho da interface não permitir o uso do logotipo do Google Maps, escreva Google Maps em texto. Siga as seguintes diretrizes:

Variações aceitáveis da atribuição de texto do Google Maps
Variações aceitáveis da atribuição de texto do Google Maps
  • Não modifique o texto Google Maps de forma alguma:
    • Não mude a capitalização de Google Maps
    • Não quebre Google Maps em várias linhas
    • Não localize o Google Maps para outro idioma.
    • Impeça que os navegadores traduzam o Google Maps usando o atributo HTML translate="no".
Variações inaceitáveis da atribuição de texto do Google Maps
Variações inaceitáveis da atribuição de texto do Google Maps
  • Estilize o texto do Google Maps conforme descrito na tabela a seguir:

    Requisitos de estilo de texto do Google Maps
    Propriedade Estilo
    Família de fontes Roboto. O carregamento da fonte é opcional.
    Família de fontes substituta Qualquer fonte sem serifa já usada no seu produto ou "Sans-Serif" para invocar a fonte padrão do sistema
    Estilo da fonte Normal
    Espessura da fonte 400
    Cor da fonte Branco, preto (#1F1F1F) ou cinza (#5E5E5E). Mantenha um contraste acessível (4,5:1) em relação ao plano de fundo.
    Tamanho da fonte Tamanho mínimo da fonte: 12sp
    Tamanho máximo da fonte: 16sp
    Para saber mais sobre sp, consulte Unidades de tamanho da fonte no site do Material Design.
    Espaçamento entre letras Normal

CSS de exemplo

O CSS a seguir renderiza o Google Maps com o estilo tipográfico e a cor adequados em um segundo plano branco ou claro.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

Requisitos visuais

Siga estes requisitos para o tratamento visual da atribuição do Google Maps.
  • Posicione a atribuição perto da parte de cima ou de baixo do conteúdo e dentro do mesmo contêiner visual. Para uma única linha de conteúdo, a atribuição pode ser posicionada à direita ou à esquerda.

  • Distinga visualmente o conteúdo da Plataforma Google Maps de outros conteúdos usando indicações da interface, como uma borda, cor de plano de fundo, sombra ou espaço em branco suficiente.

  • Não deturpe o Google Maps atribuindo a ele conteúdo que não é da Plataforma Google Maps.
  • Verifique se a atribuição está sempre visível e legível. Nunca remova, oculte, encubra ou modifique o selo.

As figuras a seguir mostram exemplos desses requisitos visuais.

Exemplo de atribuição do Google Maps posicionada na parte de cima, na parte de baixo e ao lado do conteúdo
Exemplo de atribuição do Google Maps posicionada na parte superior, inferior e lateral do conteúdo

Exemplo de três abordagens para diferenciar o conteúdo do Google Maps (a classificação do lugar) de outros conteúdos
Exemplo de três abordagens para diferenciar o conteúdo do Google Maps (a classificação do lugar) de outros conteúdos

Não oculte a atribuição do Google Maps nem a misture com conteúdo de outras fontes
Não oculte a atribuição do Google Maps nem a misture com conteúdo de outras fontes

Provedores de dados de terceiros

Alguns dados e imagens nos nossos produtos de mapas têm origens diferentes do Google. Para alguns produtos, como a API Map Tiles, podemos fornecer a atribuição necessária ao provedor de dados terceirizado. Quando isso acontecer, o texto da atribuição deverá mostrar o nome "Google Maps" e os provedores de dados relevantes, como "Dados do mapa: Google, Maxar Technologies". Quando o Google fornece atribuição de terceiros, apenas incluir "Google Maps" ou o logotipo do Google não é uma atribuição adequada.

Outros requisitos de atribuição

Siga estas instruções para recuperar atribuições de terceiros e mostrá-las no seu app.

Recuperar atribuições de um lugar

Se o app mostrar informações obtidas chamando get place by ID, ele também precisa apresentar as atribuições de terceiros para os detalhes de local obtidos.

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

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

Mostrar atribuições de uma foto

Se o app mostrar fotos de lugares, você precisa mostrar as atribuições de cada uma delas. PhotoMetadata, pode conter um dos dois tipos de atribuições:

Para receber 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 para mostrar.

// 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 de uma foto, chame PhotoMetadata.getAuthorAttributions(). O método retorna um objeto AuthorAttributions. Esse objeto contém uma 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();

Atribuições de resultados da pesquisa

Na Europa, ao usar a classificação não adulterada do Google, os produtos de pesquisa precisam ter um texto explicativo a não mais de um clique de distância que descreva os principais fatores e a ponderação deles que determinam a classificação dos resultados da pesquisa. Texto explicativo:

Cabeçalho:Sobre estes resultados

Corpo:Quando você pesquisa empresas ou lugares perto de um local, o Google Maps mostra os resultados da região. Vários fatores, como relevância, distância e destaque, são combinados para encontrar o melhor resultado.

Botão 1:saiba mais
O texto"Saiba mais" precisa ter um link para um artigo da Central de Ajuda.

Botão 2:OK

Mostrar uma avaliação

Um objeto Place pode conter até cinco avaliações, e cada uma é representada por um objeto Review. Você pode mostrar essas avaliações no seu app, caso queira.

Quando elas têm contribuição de usuários do Google, inclua o nome do autor em um lugar próximo. Inclua a foto do autor quando ela aparece no campo de atribuição do objeto Review e também um link para o perfil. Exemplo da avaliação de um parque:

Atribuição do autor

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

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 a provedores terceirizados contêm conteúdo e links em formato HTML que precisam ser preservados e mostrados ao usuário no formato em que foram fornecidos. O Google recomenda mostrar essas informações abaixo dos detalhes do lugar.

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

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>

Preenchimento automático de endereços de usuários finais

Quando um usuário final usa a funcionalidade de preenchimento automático no aplicativo do cliente para digitar um endereço de rua, e esse endereço teria sido fornecido de forma completa e precisa pelo usuário final sem o preenchimento automático, o endereço selecionado não está sujeito às restrições de conteúdo do Google Maps no Contrato da Plataforma Google Maps. Essa exceção se aplica apenas ao endereço de rua selecionado pelo usuário final e somente para a transação específica desse usuário. Ela não se aplica à lista de endereços sugeridos fornecida pela funcionalidade de preenchimento automático ou a outros conteúdos do Google Maps. Essa exceção não se aplica a nenhuma funcionalidade de pesquisa de PDI ou endereço oferecida por outros Serviços da Plataforma Google Maps.

Preencher automaticamente o endereço do usuário final

Na imagem anterior, a lista de endereços à esquerda ainda está sujeita às restrições de conteúdo do Google Maps. Depois que o usuário final selecionar o endereço escolhido, ele não estará sujeito às restrições do conteúdo do Google Maps apenas para fins da transação aplicável desse usuário final.