Inscrição e chaves de API

Para usar a API Google Awareness, você precisa adicionar uma chave de API do Google ao seu app. O tipo de chave de API necessário é uma chave de API do Android.

Todos os apps Android são assinados com um certificado digital para o qual você detém a chave privada. Para mais informações sobre certificados digitais, consulte o guia do Android sobre como assinar seu app.

As chaves de API do Android são vinculadas a pares de pacote de certificado específicos. Você só precisa de uma chave para cada certificado, independentemente de quantos usuários você tem para o aplicativo.

Várias etapas são necessárias para conseguir uma chave para seu app. Elas são descritas detalhadamente neste guia e estão resumidas da seguinte forma:

  1. Receba informações sobre o certificado do seu aplicativo.
  2. Registre um projeto no Google Developers Console e adicione a API User Context como um serviço do projeto.
  3. Solicite uma chave.
  4. Adicione a chave ao app. Para isso, adicione um elemento ao manifesto do app.

Encontrar as informações do certificado do seu aplicativo

A chave de API é baseada em uma forma resumida do certificado digital do seu app, conhecida como impressão digital SHA-1. Para exibir a impressão digital SHA-1 do seu certificado, primeiro certifique-se de usar o certificado correto. Você pode escolher entre os dois certificados a seguir:

  • 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. O certificado de depuração é descrito com mais detalhes na seção Assinar a compilação de depuração da documentação para desenvolvedores Android.
  • Um certificado de lançamento: as Ferramentas do SDK do Android geram esse certificado quando você faz um build de lançamento. Você também pode gerar esse certificado com o programa keytool. Use esse certificado quando tudo estiver pronto para lançar seu app.

Para mais informações sobre keytool, consulte a documentação da Oracle.

Certificado de depuração

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

Use o programa keytool com o parâmetro -v para exibir a impressão digital SHA-1 do certificado. Para isso, siga estas etapas:

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

    • OS X 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 OS X, abra uma janela de 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 o seguinte:

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

A resposta será 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

Mostrar a impressão digital do certificado de versão

Use o programa keytool com o parâmetro -v para exibir a impressão digital SHA-1 do certificado. Para isso, siga estas etapas:

  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 uma dessas opções ao criar o app para lançamento, a versão deixará o .apk não assinado e você precisará assiná-lo antes da publicação. Para o certificado de lançamento, você também precisa do alias do certificado, das senhas do keystore e do certificado.
  2. Digite o seguinte para listar os aliases de todas as chaves em um keystore:

    keytool -list -keystore your_keystore_name
          
  3. Substitua your_keystore_name pelo caminho totalmente qualificado e nome do keystore. Inclua a extensão .keystore. Digite a senha do keystore quando solicitado. Em seguida, keytool exibe todos os aliases no keystore.
  4. Digite o seguinte em um terminal ou no prompt de comando:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Substitua your_keystore_name pelo caminho totalmente qualificado e nome do keystore. Inclua a extensão .keystore.
  6. Substitua your_alias_name pelo alias que você atribuiu ao certificado quando o criou.

A resposta será 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.

Receber uma chave de API no Google Developers Console

Para começar a usar a Google Awareness API, clique no botão Obter uma chave. Ela vincula ao Google Developers Console, que guia você pelo processo e ativa a API de reconhecimento automaticamente.

Gerar uma chave

Como alternativa, siga as etapas abaixo para gerar uma chave de API:

  1. Acesse o Google Developers Console.
  2. Selecione um projeto ou crie um novo.
  3. Clique em Continuar para ativar a API Awareness.
  4. Na página "Credenciais", crie uma chave Android e defina as credenciais da API.

  5. Na caixa de diálogo "Criar chave", é preciso restringir o uso a apps Android. Para fazer isso, insira a impressão digital SHA-1 e o nome do pacote do app, como no exemplo a seguir:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    
    com.example.android.awareness-example
    
  6. Clique em Criar. A nova chave de API do Android será exibida na lista de chaves de API do projeto. Uma chave de API é uma string de caracteres, como a seguir:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Agora que você tem uma chave de API, adicione-a ao manifesto do app, conforme descrito no guia Primeiros passos.

Ativar APIs adicionais

A API Awareness permite que você acesse vários tipos de dados contextuais, como beacons. Para usar esses tipos, você precisa ativar as APIs correspondentes no Google Developers Console.

Serviço Métodos da API Awareness API para ativar
Beacons SnapshotApi.getBeaconState(), FenceApi.BeaconFence API Nearby Messages