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:
- Receba informações sobre o certificado do seu aplicativo.
- Registre um projeto no Google Developers Console e adicione a API User Context como um serviço do projeto.
- Solicite uma chave.
- 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.
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:
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\
- OS X e Linux:
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
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:
- 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. Digite o seguinte para listar os aliases de todas as chaves em um keystore:
keytool -list -keystore your_keystore_name
- 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. 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 totalmente qualificado e nome do keystore. Inclua a extensão.keystore
. - 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.
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 Android e defina as credenciais da API.
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
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 |