Inscription et clés API

Pour utiliser l'API Google Awareness, vous devez ajouter une clé API Google à votre application. Le type de clé API dont vous avez besoin est 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 de certificats et de packages spécifiques. Vous n'avez besoin que d'une seule clé pour chaque certificat, quel que soit le nombre d'utilisateurs de l'application.

Pour obtenir une clé pour votre application, vous devez suivre plusieurs étapes. Elles sont décrites en détail dans ce guide et résumées ci-dessous:

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

Rechercher les informations sur le certificat de votre application

La clé API est basée sur une version abrégée du certificat numérique de l'application, appelée empreinte SHA-1. Pour afficher l'empreinte SHA-1 de votre certificat, assurez-vous d'abord 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 build de débogage de la documentation pour les 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 à proposer une version publique de l'application.

Pour en savoir plus sur keytool, consultez la 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 fichier est nommé debug.keystore. Il est créé lorsque vous compilez votre projet pour la première fois. 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 ce qui suit:

      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 ou de nom par défaut pour le keystore de version. Si vous n'en spécifiez aucun lorsque vous compilez une version de votre application, le fichier .apk ne sera pas signé et vous devrez le signer avant la publication. 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 pour afficher 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é. L'outil keytool affiche alors 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 depuis la Google Developers Console

Pour commencer à utiliser l'API Google Awareness, cliquez sur le bouton Obtenir une clé. Il vous permet d'accéder à 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 Developers 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 "Create key" (Créer une clé), vous devez limiter l'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 s'affiche dans la liste des clés API de votre projet. Une clé API est une chaîne de caractères, comme celle-ci:

    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 Premiers pas.

Activer d'autres API

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 Play Console.

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