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 conferir mais termos da Plataforma Google Maps, consulte os Termos de Serviço da Plataforma Google Maps.
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.
- Declare explicitamente nos Termos de Uso do seu aplicativo que, ao usá-lo, as pessoas estão sujeitas aos Termos de Serviço do Google.
- Avise aos usuários na sua Política de Privacidade que está usando as APIs Google Maps e incorpore a Política de Privacidade do Google para referência.
O lugar recomendado para os Termos de Uso e a Política de Privacidade depende da plataforma do aplicativo.
Aplicativos para dispositivos móveis
Se estiver desenvolvendo um app para dispositivos móveis, recomendamos que coloque um link para os Termos de Uso e a Política de Privacidade na página de download da loja de aplicativos relevante e no menu de configurações do aplicativo.
Aplicativos da Web
Se estiver desenvolvendo um aplicativo da Web, recomendamos que coloque um link para os Termos de Uso e a Política de Privacidade no rodapé do seu 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 Contrato, não faça pré-busca, indexação, armazenamento em cache ou no local de qualquer Conteúdo, exceto de acordo com as condições limitadas declaradas 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. Aprenda a salvar, atualizar e gerenciar IDs no guia de IDs de lugar.
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.
Mostrar o logotipo do Google e atribuições
O logotipo do Google é incluído quando o aplicativo mostra dados em um mapa do Google e não pode ser alterado. Aplicativos que mostram dados do Google na mesma tela que um mapa não precisam fornecer atribuições adicionais ao Google.
Se o aplicativo mostrar dados em uma página ou visualização que não tem um mapa do Google, inclua o logotipo. Por exemplo, se o aplicativo apresentar dados do Google em uma guia e um mapa do Google em outra, a primeira precisa incluir o logotipo do Google. Se o aplicativo usar campos de pesquisa com ou sem preenchimento automático, mostre o logotipo inline.
O logotipo do Google deve ficar no canto inferior esquerdo do mapa e as informações de atribuição no canto inferior direito. Eles precisam estar no mapa apresentado como um todo, não abaixo dele ou em outro lugar no aplicativo. Exemplo com o logotipo do Google no canto inferior esquerdo do mapa e a atribuição no canto inferior direito.
Para uso em segundo plano claro | Para uso em segundo plano escuro |
---|---|
O arquivo ZIP a seguir contém o logotipo do Google nos tamanhos corretos para aplicativos para computador, Android e iOS. Não redimensione nem modifique esses logotipos.
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 os logotipos do Google inline (por exemplo, "Estes mapas são do [Google_logo]").
Mantenha a atribuição próxima. Se for usar capturas de tela de imagens do Google fora da incorporação direta, inclua a atribuição padrão como aparece na imagem. Se necessário, personalize o estilo e a posição do texto de atribuição, contanto que o texto fique próximo ao conteúdo e seja legível para a pessoa comum. Não distancie a atribuição do conteúdo, como no fim do livro, nos créditos dos arquivos ou programa ou no rodapé do site.
Inclua provedores de dados de terceiros. Alguns dados e imagens nos nossos produtos de mapas têm origens diferentes do Google. Se você usar essas imagens, o texto da atribuição deverá mostrar o nome "Google" e os provedores de dados relevantes, como "Dados do mapa: Google, Maxar Technologies". Apenas incluir o nome e o logotipo do Google quando provedores de dados de terceiros são citados nas imagens não é uma atribuição correta.
Se estiver usando a Plataforma Google Maps em um dispositivo em que não é prático mostrar a atribuição, entre em contato com a equipe de vendas do Google para discutir as licenças adequadas ao 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. } } );
Mostrar atribuições de uma foto
Se seu app exibe fotos de lugares, é 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();
Mostrar uma avaliação
Um objeto Place
pode conter até cinco avaliações, em que cada avaliação
é representada por um
objeto
Review
. Você pode mostrar essas avaliações no seu app, caso queira.
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 de uma atribuição do Google
Estas são as diretrizes de estilo para atribuições do Google em CSS e HTML, caso não possa usar o logotipo para download do Google.
Espaço livre
O espaço livre ao redor do logotipo completo deve ser pelo menos igual à altura do "G" em Google.
O espaço entre a cópia da atribuição e o logotipo deve ter metade da largura do "G".
Legibilidade
Apresente uma assinatura clara, legível e na variação de cor adequada ao segundo plano. Garanta o contraste correto para a variação de logotipo selecionada.
Cor
Em segundo plano branco ou claro que usa um intervalo de 0% a 40% de tonalidade de preto, o texto deve ser no cinza 700 do Google Material.
#5F6368 RGB 95 99 104 HSL 213 5 39 HSB 213 9 41
Em segundo plano escuro ou em fotografia e padrões simples, use branco para a assinatura e a atribuição.
#FFFFFF RGB 255 255 255 HSL 0 0 100 HSB 0 0 100
Fonte
Use Roboto.
CSS de exemplo
Aplique o CSS a seguir no texto "Google" para gerar um resultado com a fonte, a cor e o espaçamento apropriados em segundo plano 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;