Inscription et clés API

Pour utiliser l'API Google Awareness, vous devez ajouter une clé API Google à votre application. Vous avez besoin d'une clé API Android.

Toutes les applications Android sont signées avec un certificat numérique dont vous détenez la clé privée. Pour en savoir plus sur les certificats numériques, consultez le guide Android sur la signature de votre application.

Les clés API Android sont associées à des paires certificat/package spécifiques. Vous n'avez besoin que d'une seule clé par certificat, quel que soit le nombre d'utilisateurs de l'application.

Plusieurs étapes sont nécessaires pour obtenir une clé pour votre application. Elles sont décrites en détail dans ce guide et sont résumées comme suit:

  1. Obtenez des informations sur le certificat de votre application.
  2. Enregistrez un projet dans la Google Developers Console et ajoutez l'API User Context en tant que service.
  3. Demandez une clé.
  4. Ajoutez la clé à votre application. Pour cela, ajoutez un élément au fichier manifeste de votre application.

Rechercher des informations sur le certificat de votre application

La clé API est basée sur une version courte du certificat numérique de votre application, appelée empreinte SHA-1. Pour afficher l'empreinte SHA-1 de votre certificat, assurez-vous d'utiliser le bon certificat. Vous avez le choix entre les deux certificats suivants:

  • Un certificat de débogage : les outils Android SDK génèrent automatiquement ce certificat lorsque vous exécutez une version de débogage. Utilisez ce certificat uniquement avec les applications que vous testez. N'essayez pas de publier une application signée avec un certificat de débogage. Le certificat de débogage est décrit plus en détail dans la section Signer votre version de débogage de la documentation destinée aux développeurs Android.
  • Un certificat de version : le SDK Tools pour Android génère ce certificat lorsque vous créez une build. Vous pouvez également générer ce certificat avec le programme keytool. Utilisez ce certificat lorsque vous êtes prêt à publier votre application.

Pour en savoir plus sur keytool, consultez sa documentation Oracle.

Certificat de débogage

Afficher l'empreinte du certificat de débogage

Utilisez le programme keytool avec le paramètre -v pour afficher l'empreinte SHA-1 d'un certificat. Pour ce faire, procédez comme suit :

  1. Recherchez le fichier keystore de débogage. Le nom du fichier est debug.keystore. Il est créé la première fois que vous compilez votre projet. Par défaut, il est stocké dans le même répertoire que vos fichiers AVD (Android Virtual Device) :

    • OS X et Linux: ~/.android/
    • Windows Vista et Windows 7 : C:\Users\your_user_name\.android\
  2. Affichez l'empreinte SHA-1 :

    • Pour Linux ou OS X, ouvrez une fenêtre de terminal et saisissez la commande suivante:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Sous Windows Vista et Windows 7, exécutez la commande suivante:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

La sortie obtenue doit ressembler à ceci :

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
Certificat de version

Afficher l'empreinte du certificat de version

Utilisez le programme keytool avec le paramètre -v pour afficher l'empreinte SHA-1 d'un certificat. Pour ce faire, procédez comme suit :

  1. Recherchez le fichier keystore du certificat de version. Il n'existe pas d'emplacement ni de nom par défaut pour le keystore de publication. Si vous n'en spécifiez pas lorsque vous compilez votre application en vue de sa publication, la version .apk est non signée. Vous devez la signer avant de pouvoir la publier. Pour le certificat de version, vous avez également besoin de l'alias du certificat, des mots de passe du keystore et du certificat.
  2. Saisissez la commande suivante afin de lister les alias de toutes les clés d'un keystore:

    keytool -list -keystore your_keystore_name
          
  3. Remplacez your_keystore_name par le chemin d'accès complet et le nom du keystore. Incluez l'extension .keystore. Saisissez le mot de passe du keystore lorsque vous y êtes invité. Ensuite, keytool affiche tous les alias du keystore.
  4. Saisissez la commande suivante sur un terminal ou dans une invite de commande :

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Remplacez your_keystore_name par le chemin d'accès complet et le nom du keystore. Incluez l'extension .keystore.
  6. Remplacez your_alias_name par l'alias que vous avez attribué au certificat lorsque vous l'avez créé.

La sortie obtenue doit ressembler à ceci :

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 ligne commençant par SHA1 contient l'empreinte SHA-1 du certificat. L'empreinte correspond à la séquence de 20 nombres hexadécimaux à deux chiffres séparés par un deux-points.

Obtenir une clé API à partir de la Google Developers Console

Pour commencer à utiliser l'API Google Awareness, cliquez sur le bouton Obtenir une clé. Elle renvoie vers la Google Developers Console, qui vous guide tout au long du processus et active automatiquement l'API Awareness.

Obtenir une clé

Vous pouvez également obtenir une clé API comme suit :

  1. Accédez à la Google Play Console.
  2. Sélectionnez un projet ou créez-en un.
  3. Cliquez sur Continuer pour activer l'API Awareness.
  4. Sur la page "Identifiants", créez une clé Android et définissez les identifiants de l'API.

  5. Dans la boîte de dialogue "Créer une clé", vous devez limiter votre utilisation aux applications Android. Pour ce faire, saisissez l'empreinte SHA-1 et le nom du package de votre application, comme dans l'exemple suivant:

    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. Cliquez sur Créer. Votre nouvelle clé API Android apparaît dans la liste des clés API de votre projet. Une clé API est une chaîne de caractères, comme ceci:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Maintenant que vous disposez d'une clé API, vous pouvez l'ajouter au fichier manifeste de votre application, comme décrit dans le guide de démarrage.

Activer des API supplémentaires

L'API Awareness vous permet d'accéder à plusieurs types de données contextuelles, telles que les balises. Pour utiliser ces types, vous devez activer les API correspondantes dans la Google Developers Console.

Service Méthodes de l'API Awareness API à activer
Balises SnapshotApi.getBeaconState(), FenceApi.BeaconFence API Nearby Messages