Chiavi di registrazione e API

Per utilizzare l'API Google Awareness, devi aggiungere una chiave API Google alla tua app. Il tipo di chiave API che ti serve è una chiave API Android.

Tutte le app per Android sono firmate con un certificato digitale di cui possiedi la chiave privata. Per maggiori informazioni sui certificati digitali, consulta la guida di Android su come firmare l'app.

Le chiavi API Android sono collegate a coppie specifiche di certificato e pacchetto. Ti serve una sola chiave per ogni certificato, indipendentemente dal numero di utenti dell'app.

Per ottenere una chiave per la tua app sono necessari diversi passaggi, descritti in dettaglio in questa guida e riassunti come segue:

  1. Ottieni informazioni sul certificato della tua app.
  2. Registra un progetto nella console Google Developers e aggiungi l'API User Context come servizio per il progetto.
  3. Richiedi una chiave.
  4. Aggiungi la chiave alla tua app. Per farlo, aggiungi un elemento al manifest dell'app.

Trovare le informazioni sul certificato dell'app

La chiave API si basa su una forma breve del certificato digitale della tua app, nota come impronta SHA-1. Per visualizzare l'impronta SHA-1 del tuo certificato, assicurati innanzitutto di utilizzare il certificato corretto. Potresti avere a disposizione due certificati tra cui scegliere:

  • Un certificato di debug: gli strumenti Android SDK 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 Firma la build di debug della documentazione per gli sviluppatori Android.
  • Un certificato di rilascio: gli strumenti dell'SDK Android generano questo certificato quando crei una build di rilascio. Puoi anche generare questo certificato con il programma keytool. Utilizza questo certificato quando la tua app è pronta per essere rilasciata.

Per saperne di più su keytool, consulta la documentazione Oracle.

Certificato di debug

Visualizzare l'impronta digitale del certificato di debug

Utilizza il programma keytool con il parametro -v per visualizzare l'impronta SHA-1 di un certificato. Per farlo, segui questa procedura.

  1. Individua il file del keystore di debug. Il nome del file è debug.keystore e viene creato la prima volta che compili il progetto. Per impostazione predefinita, viene archiviato nella stessa directory dei file AVD (Android Virtual Device):

    • OS X e Linux: ~/.android/
    • Windows Vista e Windows 7: C:\Users\your_user_name\.android\
  2. 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 questo comando:

      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
Certificato di rilascio

Visualizzare l'impronta digitale del certificato di rilascio

Utilizza il programma keytool con il parametro -v per visualizzare l'impronta SHA-1 di un certificato. Per farlo, segui questa procedura.

  1. Individua il file dell'archivio chiavi del certificato di rilascio. Non esiste una posizione o un nome predefinito per il keystore di rilascio. Se non ne specifichi uno quando crei la tua app per la release, la build rimane .apk non firmata e devi firmarla prima di poterla pubblicare. Per il certificato di rilascio, devi disporre anche dell'alias del certificato, delle password per l'archivio chiavi e del certificato.
  2. Inserisci quanto segue per elencare gli alias di tutte le chiavi in un archivio chiavi:

    keytool -list -keystore your_keystore_name
          
  3. Sostituisci your_keystore_name con il nome e il percorso completo dell'archivio chiavi. Includi l'estensione .keystore. Quando richiesto, inserisci la password del keystore. Poi, keytool mostra tutti gli alias nel keystore.
  4. Inserisci quanto segue in un terminale o in un prompt dei comandi:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Sostituisci your_keystore_name con il nome e il percorso completo dell'archivio chiavi. Includi l'estensione .keystore.
  6. 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 da Google Developers Console

Per iniziare a utilizzare l'API Google Awareness, fai clic sul pulsante Ottieni una chiave. Si collega a Google Developers Console, che ti guida nel processo e attiva automaticamente l'API Awareness.

Richiedere una chiave

In alternativa, segui questi passaggi per ottenere una chiave API:

  1. Vai a Google Developers Console.
  2. Seleziona un progetto o creane uno nuovo.
  3. Fai clic su Continua per abilitare l'API Awareness.
  4. Nella pagina "Credenziali", crea una chiave Android e imposta le credenziali API.

  5. Nella finestra di dialogo "Crea chiave", devi limitare l'utilizzo alle app per Android. Per farlo, inserisci l'impronta SHA-1 e il nome del pacchetto dell'app, 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
    
  6. Fai clic su Crea. La nuova chiave API per Android viene visualizzata nell'elenco delle chiavi API per il tuo progetto. Una chiave API è una stringa di caratteri, ad esempio:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Ora che hai una chiave API, puoi aggiungerla al file manifest della tua app, come descritto nella guida Inizia.

Attiva API aggiuntive

L'API Awareness consente di accedere a più tipi di dati contestuali, ad esempio beacon. Per utilizzare questi tipi, devi attivare le API corrispondenti in Google Developers Console.

Servizio Metodi dell'API Awareness API da abilitare
Beacons SnapshotApi.getBeaconState(), FenceApi.BeaconFence API Nearby Messages