Cómo usar claves de API

En este tema, se describe cómo crear una clave de API para el SDK de Maps para Android, agregarla a tu app y protegerla mediante la restricción de la clave. Debes agregar una clave de API a toda app que use el SDK.

Antes de comenzar

A fin de comenzar a utilizar el SDK de Maps para Android, debes habilitarlo y tener un proyecto con una cuenta de facturación. Si deseas obtener más información, consulta Set up in Cloud Console.

Cómo crear claves de API

La clave de API es un identificador único que se utiliza para autenticar solicitudes asociadas a tu proyecto con fines de uso y facturación. Debes tener, al menos, una clave de API asociada a tu proyecto.

Para crear una clave de API, sigue estos pasos:

  1. Ve a la página API y servicios > Credenciales.

    Ir a la página Credenciales

  2. En la página Credenciales, haz clic en Crear credenciales > Clave de API.
    El diálogo Se creó la clave de API mostrará la clave de API que acabas de crear.
  3. Haz clic en Cerrar.
    La nueva clave de API aparecerá en la página Credenciales debajo de Claves de API.
    (Recuerda restringir la clave de API antes de utilizarla en producción).

Cómo agregar la clave de API a tu app

En esta sección, se describe cómo almacenar tu clave de API para que tu app pueda hacer referencia a ella de manera más segura. No debes verificar la clave de API en el sistema de control de versión, por lo que te recomendamos almacenarla en el archivo local.properties, que se encuentra en el directorio raíz de tu proyecto. Para obtener más información sobre el archivo local.properties, consulta los archivos de propiedades de Gradle.

Para optimizar esta tarea, puedes usar el complemento Secrets Gradle para Android.

Para instalar el complemento y almacenar tu clave de API, haz lo siguiente:

  1. En Android Studio, abre el archivo build.gradle a nivel de tu app y agrega el siguiente código al elemento plugins.
    id 'com.google.secrets_gradle_plugin' version '0.5'
        
  2. Guarda el archivo y sincroniza tu proyecto con Gradle.
  3. Abre el archivo local.properties en el directorio de nivel de proyecto y, luego, agrega el siguiente código. Reemplaza YOUR_API_KEY por la clave de API.
    MAPS_API_KEY=YOUR_API_KEY
        
  4. Guarda el archivo y sincroniza tu proyecto con Gradle.
  5. En tu archivo AndroidManifest.xml, ve a com.google.android.geo.API_KEY y actualiza el android:value attribute de la siguiente manera:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

Nota: Como se mostró anteriormente, com.google.android.geo.API_KEY es el nombre de metadatos recomendado para la clave de API. Se puede utilizar una clave con este nombre a fin de autenticar varias API basadas en Google Maps en la plataforma de Android, incluido Maps SDK for Android. Respecto de la retrocompatibilidad, la API también admite el nombre com.google.android.maps.v2.API_KEY. Este nombre heredado solo permite la autenticación de la versión 2 de la API de Google Maps para Android. Una aplicación puede especificar solo uno de los nombres de metadatos de la clave de API. Si se especifican ambos, la API arrojará una excepción.

Cómo restringir las claves de API

La restricción de las claves de API agrega seguridad a tu aplicación, ya que garantiza que solo se realicen solicitudes autorizadas con tu clave de API. Te recomendamos enfáticamente que sigas las instrucciones si deseas configurar restricciones para tus claves de API. Para obtener más información, consulta Prácticas recomendadas relacionadas con las claves de API.

Cuando restringes tu clave de API, debes proporcionar la huella digital del certificado SHA-1 de la clave que se usó para firmar la aplicación. Existen dos tipos de certificados:

  • Certificado de depuración: Usa este tipo de certificado solo con apps que estés probando y con otros códigos que no sean de producción. No intentes publicar una app firmada con un certificado de depuración. Las herramientas del SDK de Android generan este certificado automáticamente cuando ejecutas una compilación de depuración.
  • Certificado de lanzamiento: Usa este certificado cuando estés listo para lanzar tu app en una tienda de aplicaciones. Las herramientas del SDK de Android generan este certificado cuando ejecutas una compilación de lanzamiento.

Para obtener más información sobre los certificados digitales, consulta la guía Firma tu app.

Para restringir una clave de API, sigue estos pasos:

  1. Ve a la página API y servicios > Credenciales.

    Ir a la página Credenciales

  2. Selecciona la clave de API para la que deseas establecer una restricción. Aparecerá la página de propiedades de la clave de API.
  3. En Restricciones de clave, establece las siguientes restricciones:
    • Restricciones de aplicaciones:
      1. Selecciona Apps de Android.
      2. Haz clic en + Agregar nombre del paquete y huella digital.
      3. Ingresa el nombre del paquete y la huella digital del certificado SHA-1. Por ejemplo:
        com.example.android.mapexample
        BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
        Para obtener más información sobre cómo obtener la huella digital de tu certificado, consulta Cómo autenticar a tu cliente. En cambio, si usas la firma de apps de Play, debes ir a la página de firma de apps en Play Console para obtener la huella digital del certificado.
    • Restricciones de API:
      1. Haz clic en Restringir clave.
      2. Selecciona SDK de Maps para Android en el menú desplegable Seleccionar API. Si no ves el SDK de Maps para Android, deberás habilitarlo.
  4. Para finalizar los cambios, haz clic en Guardar.