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.
Exibição do logotipo e das atribuições 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.
Para uso em um fundo claro | Para uso com fundo escuro |
---|---|
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:
- Attributions, uma string de atribuição acessada por
PhotoMetadata.getAttributions()
. - AuthorAttributions, um objeto
AuthorAttributions
acessado porPhotoMetadata.getAuthorAttributions()
.
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:
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.
#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.
#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;