Per utilizzare l'API Google Awareness, devi aggiungere una chiave API di Google all'app. Il tipo di chiave API necessaria è una chiave API Android.
Tutte le app per Android sono firmate con un certificato digitale per il quale hai la chiave privata. Per ulteriori informazioni sui certificati digitali, consulta la guida per Android su come firmare l'app.
Le chiavi API di Android sono collegate a coppie di certificati-pacchetti specifici. Hai bisogno di una sola chiave per ogni certificato, indipendentemente dal numero di utenti dell'app.
Per ottenere una chiave per l'app sono necessari diversi passaggi, descritti in dettaglio in questa guida e riepilogati di seguito:
- Ricevi informazioni sul certificato dell'app.
- Registra un progetto nella console Google Developers e aggiungi l'API User Context come servizio per il progetto.
- Richiedi un token.
- Aggiungi la chiave all'app. Per farlo, aggiungi un elemento al file manifest dell'app.
Trovare le informazioni sul certificato dell'app
La chiave API si basa su una breve forma del certificato digitale della tua app, nota come impronta SHA-1. Per visualizzare l'impronta SHA-1 per il tuo certificato, assicurati innanzitutto di utilizzare il certificato giusto. Puoi scegliere tra due certificati:
- Un certificato di debug: gli strumenti dell'SDK Android generano automaticamente questo certificato quando esegui una build di debug. Utilizza questo certificato solo con le app che stai testando. Non tentare di pubblicare un'app firmata con un certificato di debug. Il certificato di debug è descritto in modo più dettagliato nella sezione Firmare la build di debug nella documentazione per gli sviluppatori di Android.
- Un certificato di rilascio: gli strumenti dell'SDK Android generano questo certificato quando esegui una build di rilascio. Puoi anche generare questo certificato con il programma
keytool
. Utilizza questo certificato quando vuoi rilasciare l'app a livello globale.
Per maggiori informazioni su keytool
, consulta la
documentazione di Oracle.
Visualizzare l'impronta del certificato di debug
Utilizza il programma keytool
con il parametro -v
per visualizzare l'impronta SHA-1 del certificato. Per farlo, segui questa procedura.
Individua il file dell'archivio chiavi di debug. Il nome del file è
debug.keystore
e viene creato la prima volta che crei il progetto. Per impostazione predefinita, viene archiviata nella stessa directory dei file del dispositivo virtuale (AVD) di Android:- OS X e Linux:
~/.android/
- Windows Vista e Windows 7:
C:\Users\your_user_name\.android\
- OS X e Linux:
Elenca l'impronta SHA-1:
Per Linux o OS X, apri una finestra del terminale e inserisci quanto segue:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Per Windows Vista e Windows 7, esegui il comando seguente:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Dovresti vedere un output simile al seguente:
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
Visualizza l'impronta del certificato di rilascio
Utilizza il programma keytool
con il parametro -v
per visualizzare l'impronta SHA-1 del certificato. Per farlo, segui questa procedura.
- Individua il file dell'archivio chiavi del certificato di rilascio. Non esiste una località o un nome predefinito per l'archivio chiavi di release. Se non ne specifichi uno quando
crei la tua app per la release, la build lascia
.apk
non firmata e devi firmarla per poterla pubblicare. Per il certificato di rilascio, sono necessari anche l'alias del certificato, le password per l'archivio chiavi e il certificato. Inserisci il codice seguente per elencare gli alias per tutte le chiavi in un archivio chiavi:
keytool -list -keystore your_keystore_name
- Sostituisci
your_keystore_name
con il percorso e il nome completi dell'archivio chiavi. Includi l'estensione.keystore
. Inserisci la password dell'archivio chiavi quando richiesto. Quindi,keytool
visualizza tutti gli alias nell'archivio chiavi. Inserisci quanto segue al terminale o al prompt dei comandi:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
- Sostituisci
your_keystore_name
con il percorso e il nome completi dell'archivio chiavi. Includi l'estensione.keystore
. - Sostituisci
your_alias_name
con l'alias assegnato al certificato durante la creazione.
Dovresti vedere un output simile al seguente:
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
La riga che inizia con SHA1
contiene l'impronta SHA-1 del certificato. L'impronta è la sequenza di 20 numeri esadecimali a due cifre separati da due punti.
Ottenere una chiave API dalla Google Developers Console
Per iniziare a utilizzare l'API Google Awareness, fai clic sul pulsante Ottieni una chiave. Si collega alla Google Developers Console, che ti guida nella procedura e attiva automaticamente l'API Awareness.
In alternativa, segui questi passaggi per ottenere una chiave API:
- Vai alla Google Developers Console.
- Seleziona un progetto o creane uno nuovo.
- Fai clic su Continua per abilitare l'API Awareness.
Nella pagina "Credenziali", crea una chiave Android e imposta le credenziali dell'API.
Nella finestra di dialogo "Crea chiave", devi limitare l'utilizzo alle app per Android. Per farlo, inserisci l'impronta SHA-1 della tua app e il nome del pacchetto, come nell'esempio seguente:
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
Fai clic su Crea. La nuova chiave API Android viene visualizzata nell'elenco di chiavi API per il tuo progetto. Una chiave API è una stringa di caratteri, come nell'esempio seguente:
AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
Ora che hai una chiave API, puoi aggiungerla al manifest dell'app, come descritto nella guida Per iniziare.
Attiva API aggiuntive
L'API Awareness ti consente di accedere a diversi tipi di dati contestuali, come i beacon. Per utilizzare questi tipi, devi abilitare le API corrispondenti in Google Developers Console.
Servizio | Metodi dell'API Awareness | API da abilitare |
---|---|---|
Beacon | SnapshotApi.getBeaconState() ,
FenceApi.BeaconFence |
API Nearby Messages |