API para acceder a detalles sobre módulos en aplicaciones de Android

Estoy buscando una API, preferiblemente en PHP, u opcionalmente una herramienta de línea de comandos (Python estaría bien, pero cualquier cosa que se ejecute en Linux debería funcionar) que, dado el nombre del paquete de una aplicación de Android, me brinde detalles sobre los módulos utilizado en él. Por supuesto, los resultados deben estar en un formato estructurado: por ejemplo, una matriz de objetos PHP o JSON.

Los siguientes detalles, o al menos un subconjunto significativo (los elementos imprescindibles están en negrita), deben ser proporcionados por esa API:

  • nombre del modulo
  • tipo de módulo (por ejemplo, publicidad, herramienta de desarrollo, material social)
  • (nivel de) peligro relacionado con el abuso de datos (recopila PII, identificadores de dispositivos, datos de ubicación)
  • a qué datos se accede/recopila
  • qué permisos requiere/utiliza el módulo¹
  • enlace a los detalles del módulo, incluidos los antecedentes sobre cómo utiliza los datos a los que accede y la reputación de la empresa detrás de él

Detalles útiles/interesantes adicionales son bienvenidos, mientras que lo anterior es básicamente lo que "deseo". Los datos de la versión más reciente de una aplicación están bien, no se requieren varios conjuntos por versión de la aplicación (pero tampoco estarían de más). Por supuesto, el proveedor del que la API recupera esos datos debe tener buena reputación.

La API debe estar disponible de forma gratuita (como en "cerveza gratis") y, preferiblemente, también debe ser gratuita (como en "libertad de expresión"), por lo que se prefiere fuertemente FOSS.

Para algunos antecedentes, aquí hay una referencia de nuestro sitio hermano de Android sobre lo que quiero lograr: Peligros de los módulos de anuncios en las aplicaciones


¹ mientras que la mayoría de los módulos requieren permisos "imprescindibles" para funcionar, algunos acceden a otros permisos si están disponibles para la aplicación host; véase, por ejemplo , inMobi . Preferiblemente, la API los proporciona por separado.

Respuestas (2)

No cumple con todos mis requisitos (no he encontrado nada que lo haga), pero AppBrain proporciona dicha API. Para mi caso, puedo usarlo para recuperar, por aplicación:

  • nombre del módulo(s)
  • tipo de módulo(s)
  • los datos se devuelven en formato JSON

Entonces coincide con los elementos imprescindibles de mi pregunta. Por supuesto, la API proporciona muchos más detalles, como información básica de la aplicación (aquellos detalles que ve en su página de Playstore, incluidas calificaciones y clasificaciones, aplicaciones relacionadas, información del desarrollador, etc.), pero la pregunta no lo solicitó :)

La API es de uso gratuito para hasta 500 llamadas por mes; después de eso, se vuelve un poco caro . Todavía vale la pena pedirles un "acuerdo de tarifa" especial, el personal es bastante amable.

Nombrando un segundo candidato que mientras tanto encontré y uso: Exodus Privacy ofrece escanear aplicaciones en busca de rastreadores , siempre que estén disponibles en Google Play de forma gratuita. Puede buscar aplicaciones de forma interactiva y solicitar escanear lo que aún no está allí (o ya no está actualizado). Los resultados se muestran por versión de la aplicación. También puedes consultar la lista de rastreadores conocidos por Exodus .

Exodus ofrece acceso a la API de solo lectura , por lo que puede consultar una lista de aplicaciones o una sola aplicación y recibir un objeto JSON con los detalles. Además de Appbrain (vea mi otra respuesta), Exodus enumera los resultados por versión de una aplicación, por lo que si se escanearon varias versiones, obtendrá detalles sobre cada una de ellas. De esa manera, aparte de Appbrain, puede saber si el informe se ajusta a la última versión o puede estar desactualizado.

Su base de datos está creciendo a medida que se reportan más aplicaciones para escanear. Desafortunadamente, eso debe hacerse manualmente, por lo que, por ejemplo, no es posible programar automáticamente un escaneo cuando su JSON indica una versión desactualizada. Aún así, puede solicitar activamente un escaneo aquí, lo que no es posible con la API de Appbrain (ya que escanean en el dispositivo).

Los resultados ofrecen los siguientes detalles:

  • nombre del módulo(s)
  • a partir de ahora, ningún tipo, siempre son rastreadores
  • los datos se devuelven en formato JSON

Como este servicio se limita a los rastreadores y solo informa sobre rastreadores, esto hace que el "tipo de módulo (s)" siempre sea "ATS" y, por lo tanto, cumpla con mis requisitos. Tuve buenas experiencias con él desde que integré la API con mis listados de aplicaciones.