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 di cui hai bisogno è una chiave API Android.

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

Le chiavi API Android sono collegate a coppie di pacchetti di certificati specifici. Ti occorre solo una 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 di seguito:

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

Trovare le informazioni del certificato dell'app

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

  • Un certificato di debug: gli strumenti Android SDK generano questo certificato automaticamente 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 maggiore dettaglio nella sezione Firma la compilazione di debug della documentazione per gli sviluppatori Android.
  • Un certificato di rilascio: gli strumenti dell'SDK Android generano questo certificato quando esegui una build di release. Puoi anche generare questo certificato con il programma keytool. Utilizza questo certificato quando è tutto pronto per rilasciare la tua app al pubblico.

Per ulteriori informazioni su keytool, consulta la documentazione Oracle.

Certificato di debug

Mostrare 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 del dispositivo virtuale Android (AVD):

    • 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 quanto segue:

      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
Emettere un certificato

Visualizza l'impronta 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 un nome o una posizione predefiniti per il keystore della release. Se non ne specifichi uno quando compili l'app per la release, la compilazione lascia il tuo .apk non firmato e devi firmarlo prima di poterlo pubblicare. Per il certificato di rilascio, devi anche avere l'alias del certificato, le password per l'archivio chiavi e il 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. Quindi, keytool mostra tutti gli alias nel keystore.
  4. Inserisci quanto segue in un terminale o 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 dalla Console per gli sviluppatori Google

Per iniziare a utilizzare l'API Google Awareness, fai clic sul pulsante Richiedi una chiave. Ti indirizza alla console Google Developers, che ti guida nella procedura e attiva automaticamente l'API Awareness.

Ottenere 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. A tale scopo, 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 Android viene visualizzata nell'elenco delle chiavi API per il progetto. Una chiave API è una stringa di caratteri, ad esempio la seguente:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

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

Attivare API aggiuntive

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

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