Para usar a API Google Awareness, é necessário 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 que tem uma 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 estão vinculadas a pares específicos de certificado e pacote. Você só precisa de uma chave para cada certificado, não importa quantos usuários você tenha para o app.
Para conseguir uma chave para seu app, você precisa seguir várias etapas. Elas são descritas em detalhes neste guia e resumidas abaixo:
- Receber informações sobre o certificado do app.
- Registre um projeto no console do Google Developers e adicione a API User Context como um serviço para o projeto.
- Solicite uma chave.
- Adicione a chave ao app. Para fazer isso, adicione um elemento ao manifesto do app.
Encontrar as informações do certificado do app
A chave de API é baseada em uma forma abreviada do certificado digital do app, conhecida como impressão digital SHA-1. Para exibir a impressão digital SHA-1 do seu certificado, primeiro verifique se você está usando 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 app assinado com um certificado de depuração. O certificado de depuração é descrito em mais detalhes na seção Assinar o build de depuração na 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. Também é possível gerar esse
certificado com o programa
keytool. Use esse certificado quando tudo estiver pronto para lançar seu app para o mundo.
Para mais informações sobre keytool, consulte a
documentação da Oracle.
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 de um certificado. Para isso, siga estas etapas:
Localize o arquivo de armazenamento de chaves de depuração. O nome do arquivo é
debug.keystore, e ele é criado na primeira vez que você cria o projeto. Por padrão, ele é armazenado no mesmo diretório que os 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\
- OS X e Linux:
Liste a impressão digital SHA-1:
Para Linux ou OS X, abra uma janela do terminal e digite o seguinte:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Para 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
Mostrar a impressão digital do certificado de lançamento
Use o programa keytool com o parâmetro -v para exibir a impressão digital SHA-1 de um certificado. Para isso, siga estas etapas:
- Localize o arquivo de keystore do certificado de lançamento. Não há um local ou nome padrão para o keystore de lançamento. Se você não especificar uma ao
criar o app para lançamento, o build vai deixar o
.apksem assinatura, e você vai precisar assiná-lo antes de publicar. Para o certificado de lançamento, você também precisa do alias do certificado, das senhas do keystore e do certificado. Digite o seguinte para listar os aliases de todas as chaves em um keystore:
keytool -list -keystore your_keystore_name
- Substitua
your_keystore_namepelo caminho totalmente qualificado e pelo nome do keystore. Inclua a extensão.keystore. Digite a senha do keystore quando solicitado. Em seguida,keytoolexibe todos os aliases no keystore. Digite o seguinte em um terminal ou prompt de comando:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
- Substitua
your_keystore_namepelo caminho totalmente qualificado e pelo nome do keystore. Inclua a extensão.keystore. - Substitua
your_alias_namepelo alias que você atribuiu ao certificado no momento da criação.
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 do Google Developers Console
Para começar a usar a API Google Awareness, clique no botão Gerar uma chave. Ele leva ao Console do Google Developers, que orienta você no processo e ativa a API Awareness automaticamente.
Como alternativa, siga as etapas abaixo para gerar uma chave de API:
- Acesse o Google Developers Console.
- Selecione um projeto ou crie um novo.
- Clique em Continuar para ativar a API Awareness.
Na página "Credenciais", crie uma chave do Android e defina as credenciais da API.
Na caixa de diálogo "Criar chave", restrinja 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-exampleClique em Criar. A nova chave de API do Android aparece na lista de chaves de API do seu projeto. Uma chave de API é uma string de caracteres, como esta:
AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
Agora que você tem uma chave de API, pode adicioná-la ao manifesto do app, conforme descrito no guia Primeiros passos.
Ativar outras APIs
A API Awareness permite acessar vários tipos de dados de contexto, como beacons. Para usar esses tipos, é preciso ativar as APIs correspondentes no Google Developers Console.
| Serviço | Métodos da API Awareness | API a ser ativada |
|---|---|---|
| Beacons | SnapshotApi.getBeaconState(),
FenceApi.BeaconFence |
API Nearby Messages |