La API de Android Developer Console es una interfaz pública diseñada para permitir que los distribuidores de apps y los desarrolladores individuales registren de manera programática los nombres de paquetes en Android Developer Console.
Tus capacidades de servidor a servidor como:
| Distribuidor de apps | Desarrollador individual |
|---|---|
| Registra un nombre de paquete: clave en nombre del desarrollador que publica una app en Play Store. Registra un nombre de paquete con una clave administrada por Play Store. Demuestra la propiedad de una clave asociada con un nombre de paquete. | Registra un nombre de paquete: clave en tus flujos de trabajo de implementación continua. Demuestra la propiedad de una clave asociada con un nombre de paquete. |
Antes de comenzar
Antes de comenzar, debes tener lo siguiente:
- Acceso administrativo a un proyecto de Google Cloud
- Conocimientos básicos de lo siguiente:
También debes conocer los siguientes términos:
| Término | Definición |
|---|---|
| Cuenta de desarrollador | Representa una cuenta de Android Developer Console que puede tener uno o más nombres de paquetes. Contiene un estado de verificación (NOT_VERIFIED o VERIFIED). |
| Nombre del paquete | Es un nombre de paquete específico de Android (por ejemplo, com.example.app) dentro de una cuenta de desarrollador, que se puede asociar con una o más claves. Contiene un estado de registro (DRAFT, IN_REVIEW, REGISTERED o PENDING_TRANSFER). |
| Clave | Es el certificado o la clave pública específica que se usa para firmar un nombre de paquete de Android. Incluye el hash SHA-256 y el estado de registro actual (DRAFT, OWNERSHIP_VERIFIED, IN_REVIEW, REGISTERED o PENDING_TRANSFER). |
Comenzar
Completa los siguientes pasos para acceder a la API de Android Developer Console:
Crea un proyecto de Google Cloud
- Crea una cuenta de Google Cloud si aún no tienes una.
- Abre la consola de Google Cloud.
- Crea un proyecto de Google Cloud.
Habilita la API en tu proyecto de Google Cloud
- Abre la consola de Google Cloud.
- En el menú de navegación (☰), selecciona APIs y servicios > Biblioteca.
- Selecciona el proyecto de Google Cloud en el que deseas habilitar la API en el menú desplegable del proyecto.
- Usa la barra de búsqueda de APIs y servicios para seleccionar API de Android Developer Console.
- Habilita la API:
- Para ello, selecciona la API en los resultados de la búsqueda y navega a la página de descripción general.
- Haz clic en el botón azul Habilitar. Google Cloud activa la API para el proyecto seleccionado, lo que suele tardar solo un momento. Una vez habilitada, puedes comenzar a usarla.
Autentica la API
Para realizar llamadas a la API de Android Developer Console, debes autenticar tus solicitudes con OAuth 2.0.
Autentica con OAuth 2.0
La API de Android Developer Console requiere la autenticación de OAuth 2.0 para autorizar el acceso a los recursos de la cuenta de desarrollador y los nombres de paquetes. Debido a que los datos de la cuenta de desarrollador están vinculados a la Cuenta de Google de un usuario en lugar de a un proyecto de Google Cloud, no se pueden usar cuentas de servicio, la federación de identidad para cargas de trabajo ni claves de API para autenticar solicitudes a la API.
Permiso de OAuth 2.0
Se requiere el siguiente permiso para todas las operaciones:
| Permiso de OAuth 2.0 | Descripción |
|---|---|
https://www.googleapis.com/auth/androiddeveloperconsole |
Ver y administrar los nombres de paquetes y los datos en tus cuentas de Android Developer Console |
Implementa el flujo del servidor web de OAuth 2.0
Para integrarse con la API de Android Developer Console, las aplicaciones deben usar el flujo del servidor web de OAuth 2.0. Según el tipo de aplicación y las necesidades de automatización, puedes elegir entre dos estrategias principales de administración de credenciales:
| Opción A (recomendada): Acceso sin conexión o automatizado (CI/CD y integración del servidor) | Opción B: Acceso efímero o interactivo |
|---|---|
|
Esta estrategia permite que los procesos automatizados (como las canalizaciones de CI/CD) se ejecuten en segundo plano sin intervención humana: Configuración de consentimiento del usuario único: Durante la configuración inicial, un desarrollador o propietario de la cuenta completa un flujo de consentimiento único en su navegador. Tu aplicación solicita acceso sin conexión ( access_type=offline) junto con el permiso de la API. Google muestra un código de autorización que tu aplicación intercambia por un token de acceso inicial y un token de actualización de larga duración.Ejecución en segundo plano: Almacena de forma segura el refresh_token en tu entorno de implementación o administrador de secretos (por ejemplo, GitHub Actions Secrets, Google Secret Manager). Para las llamadas posteriores a la API, tu flujo de trabajo automatizado usa el token de actualización almacenado para obtener un token de acceso nuevo de corta duración a pedido, sin pasar por ningún acceso manual ni solicitudes de 2FA.
|
Si prefieres evitar almacenar tokens de actualización de larga duración en tu entorno o si tu aplicación se ejecuta en un contexto de usuario interactivo: Solicitud en la ejecución: No solicites acceso sin conexión ni almacenes un token de actualización. Cada vez que se ejecute la herramienta o la aplicación, solicita al usuario que se autentique redireccionándolo a la página de consentimiento de OAuth de Google en su navegador. Acceso de corta duración: El usuario accede y da su consentimiento, y la aplicación recibe un token de acceso de corta duración directamente (o mediante el intercambio de códigos de autorización). Este token de acceso se usa para realizar llamadas a la API y se descarta después de la ejecución. Las ejecuciones futuras requieren que el usuario vuelva a autenticarse. |
Registra un nombre de paquete
El registro del nombre del paquete es el proceso de asociar una clave a un nombre de paquete. La forma en que se registra una clave depende de si registras una clave en un nombre de paquete nuevo o existente en Android.
Registra un nombre de paquete nuevo
En el caso de un nombre de paquete nuevo que nunca se haya visto en Android, puedes proporcionar el certificado de clave pública del par de claves de firma de la app.
Registra un nombre de paquete existente
Para registrar un nombre de paquete existente, debes demostrar la propiedad de una clave de firma privada conocida. A diferencia del registro nuevo, la API muestra una lista de huellas digitales de certificados públicos conocidos que son aptos para el registro. Estas claves se pueden usar para hacer el registro directo.
Si la clave que registras aparece como "requiere justificación", puedes registrarla, pero, además de completar la prueba de propiedad, el desarrollador también debe enviar una justificación para usar el nombre del paquete.
Reglas de elegibilidad de claves
La lista de claves elegibles se determina según las reglas de elegibilidad de los nombres de paquetes, las cuales se introdujeron como parte de la verificación de desarrolladores de Android, y están diseñadas para minimizar el uso compartido del nombre del paquete.
En situaciones en las que varios desarrolladores usan el mismo nombre de paquete o este tiene varias claves de firma, la elegibilidad se determina de la siguiente manera:
| Situación | Regla para el registro directo | Regla para otros desarrolladores |
|---|---|---|
| Titular de la mayoría de las claves | Tiene prioridad la clave que representa más del 50% de las instalaciones conocidas totales. | Todos los demás desarrolladores deben proporcionar una justificación. |
| Más de 50 instalaciones | Si ninguna clave única tiene más del 50% de las instalaciones, todas las claves con 50 instalaciones o más serán elegibles. | Los desarrolladores con claves que tengan menos de 50 instalaciones deben proporcionar una justificación. |
| Menos de 50 instalaciones | Si ninguna clave cumple con el umbral de 50 instalaciones, se puede usar cualquiera, por orden de llegada. | Una vez que un desarrollador se registra, los demás deben proporcionar una justificación. |
Verifica la propiedad de la clave
Para completar la verificación de un nombre de paquete existente, la API proporciona una cadena de verificación. Esta cadena de verificación debe incluirse dentro de un archivo nuevo llamado adi-registration.properties en la carpeta de recursos de la app. Luego, debes firmar y subir el APK con la clave privada correspondiente a la clave pública que registras.
Justifica el registro de la clave
Si el registro de una clave requiere una justificación, los desarrolladores deben enviar una lógica comercial detallada. Google revisa esta justificación, y la aprobación para el registro del nombre del paquete puede tardar hasta 24 horas.
Prácticas recomendadas para la experiencia del usuario
Se recomienda que las aplicaciones que usan la API de Android Developer Console sigan estos patrones para garantizar una integración perfecta.
Establece un contexto de autorización de OAuth claro
Proporcionar un contexto explícito antes de solicitar la autorización de OAuth ayuda a los desarrolladores a comprender por qué se requiere el acceso a la cuenta. Para guiar a los usuarios de manera eficaz, presenta una explicación clara de la funcionalidad esperada antes de iniciar la pantalla de consentimiento de OAuth.
Estructura el contexto de autorización con el siguiente formato:
- Título: "Vincula tu cuenta de Android Developer Console"
- Resumen: "Administra el registro del nombre del paquete para la verificación de desarrolladores de Android en [nombre de la aplicación]"
- Botón de acción: Botón "Continuar con Google" o "Acceder con Google"
Identifica las cuentas de desarrollador
- Realiza la integración con el método de la API
ListDeveloperAccountspara recuperar y enumerar todas las cuentas de desarrollador para las que se autorizó el acceso. - Proporciona un selector de cuentas para permitir que el desarrollador elija su cuenta de desarrollador preferida.
- Destaca el
displayNamede la cuenta con el número de cuenta del camponamecomo información secundaria. - Muestra los estados de verificación de la cuenta (
verificationState):VERIFIED: Confirma la identidad verificada del desarrollador con una señal visual positiva (p.ej., una marca de verificación verde).NOT_VERIFIED: Indica que la verificación está incompleta y restringe el registro de paquetes para la cuenta. De manera opcional, proporciona un botón de CTA principal que dirija a los desarrolladores a Android Developer Console cuando seleccionen la cuenta.
Si se recibe una respuesta vacía porque no hay cuentas de desarrollador asociadas con la Cuenta de Google, guía a los desarrolladores a Android Developer Console con un botón de CTA principal.
Administra los nombres de paquetes
- Realiza la integración con el endpoint de API
ListAndroidPackagespara recuperar todos los nombres de paquetes asociados con la cuenta de desarrollador. Proporciona a los desarrolladores una interfaz centralizada, como una lista o una tabla, para supervisar sus estados de paquetes de manera eficaz. - Muestra el
packageNamejunto con su estado de registro actual (DRAFT,IN_REVIEW,REGISTEREDoPENDING_TRANSFER) y aplica indicadores visuales distintos para cada estado. Si se proporcionó y guardó un "nombre descriptivo" durante la creación, puedes incluirlo de forma opcional en la pantalla.
Administra claves
- Llama al extremo de la API
ListAndroidPackageKeyspara recuperar todas las claves vinculadas a un nombre de paquete y ofrecer a los desarrolladores una descripción general estructurada (como una tabla o una lista) para supervisar su estado de registro. - Presenta el
certificateFingerprintSha256para cada clave junto con su estado de registro (DRAFT,OWNERSHIP_VERIFIED,IN_REVIEW,REGISTERED_ACTIVEoPENDING_TRANSFER) y usa indicadores visuales distintos para diferenciar los estados.
- Para permitir que los desarrolladores registren claves adicionales con un nombre de paquete existente, realiza la integración con el método de la API
CreateAndroidPackageKey.
Registra un nombre de paquete
- Usa un diseño basado en formularios en el que los desarrolladores ingresen el nombre del paquete en un campo de texto, siempre que tu aplicación no haya recopilado esta información (p.ej., a través de una solicitud anterior).
- Llama al método de la API
CreateAndroidPackagepara inscribir un nombre de paquete en la cuenta de desarrollador y llama al método de la APIGetAndroidPackageRegistrationPolicypara determinar las reglas de elegibilidad de claves aplicables. - Según el
keySelectionStrategydesignado para el nombre del paquete, solicita al desarrollador que realice una de las siguientes acciones:- Si
keySelectionStrategyestá configurado comoSELECT_KEY_FROM_LIST, haz que el desarrollador elija una clave para el registro de la listaknownKeysproporcionada (que contiene huellas digitales de certificados SHA-256), por ejemplo, con botones de selección. Este flujo requiere la verificación de la propiedad de la clave (consulta Verifica la propiedad de una clave a continuación). - Si
keySelectionStrategyestá configurado comoUSE_ANY_KEY, solicita al desarrollador que proporcione una clave directamente. En este caso, no es necesaria la verificación de la propiedad de la clave.
- Si
- Llama al método de la API
CreateAndroidPackageKeypara asociar la clave elegida con el nombre del paquete nuevo.
Como alternativa, tu aplicación puede detectar y extraer automáticamente el nombre o la clave del paquete directamente de una app subida.
Verifica la propiedad de una clave
Cuando keySelectionStrategy está configurado como SELECT_KEY_FROM_LIST, los desarrolladores deben demostrar la propiedad de su clave de firma privada. La prueba de propiedad requiere el envío de un APK firmado que incorpore el verificationToken generado por la API.
Para admitir la verificación de la propiedad de la clave, integra el método de la API VerifyAndroidPackageKeyOwnership y crea los siguientes componentes de la interfaz de usuario:
- Componente de visualización de tokens: Muestra el
verificationTokende forma destacada dentro de un bloque de fragmento de código, incluido un botón útil de "Copiar al portapapeles". - Instrucciones de configuración para desarrolladores: Proporciona instrucciones detalladas que dirijan al desarrollador para colocar un archivo
adi-registration.propertiesque contenga elverificationTokenen la carpeta de recursos de la app. - Zona de entrega de envío de APK: Ofrece una zona de entrega de carga de archivos dedicada para recibir el APK firmado.
Justifica el registro de una clave
Cuando una clave conocida tiene su campo justificationRequired configurado como REQUIRED, el registro de esa clave junto con el nombre del paquete requiere que los desarrolladores envíen una lógica comercial detallada.
Para enviar esta justificación, llama al método de la API JustifyAndroidPackageKeyRegistration. Asegúrate de que la interfaz de usuario de tu aplicación incluya un área de entrada de texto dedicada para recopilar la justificación del desarrollador y notifícale que es necesario proporcionar una lógica antes de enviar la solicitud de registro de la clave. Google revisa la justificación enviada, un proceso que puede tardar hasta 24 horas en aprobarse antes de que se complete el registro del nombre del paquete.
Automatiza la verificación de claves para claves administradas
Si tu aplicación administra la clave de firma de un desarrollador, este no puede firmar manualmente un APK para la verificación de la propiedad. En su lugar, debes ejecutar automáticamente la llamada a la API VerifyAndroidPackageKeyOwnership en su nombre.
Al controlar automáticamente la inclusión de tokens y el proceso de carga de APK, tu aplicación quita estos pasos manuales. Asegúrate de notificar a los desarrolladores que tu aplicación administra sin problemas la verificación de la propiedad de la clave con la clave almacenada en tu sistema.
Sigue los lineamientos de la marca
Para mantener la confianza del usuario y garantizar la transparencia, todas las aplicaciones que se integran con la API de Android Developer Console deben cumplir con los siguientes lineamientos de la marca.
Terminología y uso de mayúsculas
Cuando hagas referencia al producto en materiales o documentación orientados al usuario, usa siempre el nombre completo Android Developer Console. No uses la abreviatura "ADC".
El programa debe denominarse verificación de desarrolladores de Android. Sigue este uso exacto de mayúsculas y ortografía en todos los contextos.
Para evitar la ambigüedad con los APKs o los AABs, usa el término "nombre de paquete" específicamente en lugar de solo "paquete".
Cuando describas el proceso de agregar un nombre de paquete, usa la frase "registrar un nombre de paquete" en lugar de "reclamar un nombre de paquete".
Usa el llamado a la acción "Acceder"
La autenticación de OAuth 2.0 con Android Developer Console se basa en los Servicios de identidad de Google. Para seguir cumpliendo con los lineamientos de la marca de Google Identity Services, debes usar el llamado a la acción "Continuar con Google" o "Acceder con Google" en el botón de autorización. Este texto es obligatorio y no se puede modificar, ya que garantiza que los usuarios comprendan que usan sus credenciales de Google para autorizar que tu aplicación acceda a su Cuenta de Google.
Mantén la identidad y la integridad de la marca
Cuando integres el logotipo de Android Developer Console en la interfaz de tu aplicación, debes seguir estas especificaciones para preservar la identidad visual y la integridad de la marca:
- Ubicación y jerarquía del logotipo: Usa solo el logotipo oficial y aprobado de Android Developer Console. El logotipo siempre debe ser secundario con respecto a los elementos principales de la marca de tu aplicación para evitar que se represente de forma incorrecta como un producto oficial de Google.
- Estilo visual y distorsiones: El recurso siempre debe renderizarse con su relación de aspecto completamente restringida. Nunca debes distorsionar, alargar, inclinar, recortar, voltear ni modificar los componentes del logotipo. No alteres la paleta de colores oficial, no intercambies los colores del primer plano o del fondo, ni apliques sombras paralelas, efectos de brillo o degradados decorativos.
- Restricciones de uso: No incorpores ningún elemento de la marca propiedad de Google en los recursos de tu aplicación. El recurso del logotipo de Android Developer Console solo se puede usar dentro del contexto del diseño de la aplicación para indicar explícitamente una integración activa.
Recursos adicionales
- Consulta el estado de registro de la app con la API de Android Developer ID Status
- Regístrate en Android Developer Console
- Regístrate en Google Play Console
- Firma la app