É o 15º aniversário da Plataforma Google Maps: confira as notícias e avisos mais recentes

Acessar uma chave de API

Se quiser utilizar o Maps SDK for Android, é necessário ter uma chave de API, que é um identificador exclusivo usado na autenticação de solicitações associadas ao projeto para fins de uso e faturamento.

Acessar a chave de API

Você precisa ter pelo menos uma chave de API associada ao projeto.

Para acessar uma chave de API, faça o seguinte:

  1. Acesse o Console do Google Cloud Platform.
  2. Clique na lista suspensa do projeto e selecione ou crie o projeto a que você quer adicionar uma chave de API.
  3. Clique no botão de menu e escolha APIs e serviços > Credenciais.
  4. Na página Credenciais, clique em Criar credenciais > Chave de API.
    A caixa de diálogo Chave de API criada exibirá sua chave recém-criada.
  5. Clique em Fechar.
    A nova chave aparecerá na página Credenciais, em Chaves de API.
    Lembre-se de restringir a chave de API antes de usá-la na produção.

Adicionar a chave de API ao seu app

Siga as etapas abaixo para incluir a chave de API no manifesto do seu aplicativo, que fica no arquivo AndroidManifest.xml.

  1. Em AndroidManifest.xml, adicione o seguinte elemento como um filho de <application>. Basta inseri-lo antes de fechar a tag </application>:
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="YOUR_API_KEY"/>
        

    No atributo value, substitua YOUR_API_KEY pela sua chave de API (a string criptografada). Esse elemento define a chave com.google.android.geo.API_KEY como o valor da chave de API.

  2. Salve AndroidManifest.xml e recrie seu aplicativo.

Observação: conforme mostrado acima, com.google.android.geo.API_KEY é o nome de metadados recomendado para a chave de API. Uma chave com esse nome pode ser usada para autenticar várias APIs do Google Maps na Plataforma Android, incluindo o Maps SDK for Android. Para garantir a compatibilidade com versões anteriores, a API também aceita o nome com.google.android.maps.v2.API_KEY. Esse nome herdado permite autenticação apenas na API Android Maps v2. Um aplicativo pode especificar somente um dos nomes de metadados da chave de API. Se ambos forem especificados, a API irá gerar uma exceção.

Restringir a chave de API

Recomendamos que você restrinja sua chave de API. Isso proporciona maior segurança e ajuda a garantir que apenas solicitações autorizadas sejam feitas. Há duas restrições, e você precisa definir ambas:

  • Restrição de aplicativo: limita o uso da chave de API em sites (referenciadores HTTP), servidores da Web (endereços IP) ou apps para dispositivos móveis (Android ou iOS). Você pode selecionar apenas uma restrição dessa categoria, com base na plataforma da API ou do SDK (consulte APIs da GMP por plataforma).

    Observação: se você precisar chamar APIs da Web, de serviços da Web e/ou de dispositivos móveis no mesmo app (lado do cliente), crie e restrinja várias chaves.

  • Restrição da API: limita o uso da chave de API a uma ou mais APIs ou SDKs. As solicitações para uma API ou SDK associado à chave de API serão processadas. Ocorreu uma falha caso esses itens não sejam associados. A API ou o SDK precisa estar ativado e ser compatível com a restrição de aplicativo.

Para restringir uma chave de API, faça o seguinte:

  1. Acesse o Console do Google Cloud Platform.
  2. Clique na lista suspensa do projeto e selecione o projeto que contém a chave de API que você quer proteger.
  3. Clique no botão de menu e escolha APIs e serviços > Credenciais.
  4. Na página Credenciais, clique no nome da chave de API que você quer proteger.
  5. Na página Restringir e renomear a chave de API, defina as restrições:
    • Restrições de aplicativo
      • Selecione Apps para Android e siga as instruções.
      • Clique em + Adicionar nome do pacote e impressão digital.
      • Insira o nome do pacote e a impressão digital do certificado SHA-1. Por exemplo:
        com.example.android.mapexample
        BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
        Para mais informações, consulte Onde encontrar a impressão digital SHA-1 do seu app.
    • Restrições da API
      • Selecione Restringir chave.
      • Clique em Selecionar APIs e escolha Maps SDK for Android.
        Se o Maps SDK for Android não aparecer na lista, ative-o.
    • Clique em SALVAR.

Onde encontrar a impressão digital SHA-1 do seu app

A restrição de chave de API do Android se baseia em uma forma resumida do certificado digital do seu app, conhecida como impressão digital SHA-1.

Como encontrar informações do certificado no Android Studio

Se você seguir o guia de primeiros passos do Maps SDK for Android, o Android Studio criará um arquivo google_maps_api.xml útil com as credenciais do seu app.

Escolha uma das seguintes maneiras para encontrar a chave de API no Android Studio:

  • A maneira mais rápida e fácil: use o link informado no arquivo google_maps_api.xml que o Android Studio criou:
    1. Copie o link fornecido no arquivo google_maps_api.xml e cole-o no navegador. Ele direcionará ao Console do Google Cloud Platform e dará as informações necessárias a essa ferramenta por meio de parâmetros de URL, reduzindo assim a necessidade de inserção manual.
    2. Siga as instruções para criar um novo projeto no Console do Google Cloud Platform ou selecionar um existente.
    3. Crie uma chave de API restrita ao Android para seu projeto.
    4. Copie a chave de API resultante, volte ao Android Studio e cole-a no elemento <string> do arquivo google_maps_api.xml.
  • Uma maneira um pouco mais complexa: use as credenciais informadas no arquivo google_maps_api.xml criado pelo Android Studio:
    1. Copie as credenciais fornecidas no arquivo google_maps_api.xml.
    2. Acesse o Console do Google Cloud Platform no seu navegador.
    3. Use as credenciais copiadas para adicionar o app a uma chave de API ou criar uma nova.

Como encontrar informações do certificado por conta própria

Se você não seguiu o guia de primeiros passos ao criar o app, precisará encontrar a impressão digital SHA-1 do seu certificado por conta própria. Primeiro, verifique se você está usando o certificado correto. Você pode ter dois certificados:

  • Um certificado de depuração: as Ferramentas do SDK do Android geram esse certificado automaticamente quando você faz um build de depuração. Use-o apenas com apps em teste. Não tente publicar um aplicativo assinado com um certificado de depuração. Veja mais detalhes sobre esse certificado em Fazer login no modo de depuração, na documentação do desenvolvedor Android.
  • Um certificado de lançamento: as Ferramentas do SDK do Android geram esse certificado quando você faz um build de lançamento. Também é possível gerá-lo usando o programa keytool. Utilize esse certificado quando tudo estiver pronto para lançar seu app.

Siga as etapas abaixo para exibir a impressão digital SHA-1 do certificado usando o programa keytool com o parâmetro -v. Para mais informações sobre o Keytool, consulte a documentação da Oracle.

Certificado de depuração

Exibir a impressão digital do certificado de depuração

  1. Localize o arquivo de keystore de depuração. O nome do arquivo é debug.keystore, e ele é gerado no momento em que você cria seu projeto. Por padrão, ele fica armazenado no mesmo diretório que os arquivos do Dispositivo virtual Android (AVD, na sigla em inglês):

    • macOS e Linux: ~/.android/
    • Windows Vista e Windows 7: C:\Users\your_user_name\.android\
  2. Liste a impressão digital SHA-1:

    • Para Linux ou macOS, abra uma janela do terminal e digite o seguinte:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • No Windows Vista e Windows 7, execute este código:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Será exibida uma saída semelhante a esta:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
Certificado de lançamento

Exibir a impressão digital do certificado de lançamento

  1. Localize o arquivo de keystore do certificado de lançamento. Não há local nem nome padrão para o keystore de lançamento. Se você não especificar esses itens ao criar seu app, .apk ficará sem assinatura, e será preciso assiná-lo antes da publicação. Para o certificado de lançamento, você também precisa do alias do certificado e das senhas do keystore e do certificado. É possível listar os aliases de todas as chaves em um keystore digitando o seguinte:

    keytool -list -keystore your_keystore_name

    Substitua your_keystore_name pelo caminho e nome totalmente qualificados do keystore, incluindo a extensão .keystore. Você precisará inserir a senha do keystore. Em seguida, keytool exibirá todos os aliases relevantes.

  2. Digite o seguinte em um terminal ou no prompt de comando:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    Substitua your_keystore_name pelo caminho e nome totalmente qualificados do keystore, incluindo a extensão .keystore. Troque your_alias_name pelo alias que você atribuiu ao certificado quando o criou.

Será exibida uma saída semelhante a esta:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

A linha que começa com SHA1 inclui a impressão digital SHA-1 do certificado. Essa impressão é a sequência de 20 números hexadecimais de dois dígitos separados por dois pontos.

Consulte o guia de inscrição do app para Android e saiba mais sobre os certificados digitais.

Clientes migrados e do plano premium

Os clientes do plano premium e aqueles que migraram do premium para o modelo da Plataforma Google Maps de pagamento por utilização podem usar uma chave de API ou um ID do cliente para autenticar solicitações. Para mais informações, consulte a Visão geral das chaves de API na documentação do plano premium.