¿Cómo buscar en Play Store por permisos?

66

¿Cómo especifico que no deseo ver aplicaciones que requieren, por ejemplo, acceso a Internet? ¿O solo para mostrar aplicaciones que usan un permiso específico?

¿Un repositorio específico con búsqueda en su página web? ¿Una aplicación que ofrece búsquedas en Play Store?

Adrian Panasiuk
fuente
66
Esto realmente puede ser una gran sugerencia para Google ..
Android Quesito
8
Si usa la interfaz web de Play Store, no necesita intentar la instalación para ver los permisos de una aplicación: hay una pestaña en la página de cada aplicación que los enumera. Podría ahorrarte unos pocos clics.
Chahk
3
AppBrain debería poder agregar esta función. Aquí está la solicitud de función . Vota por ello. :)
Flujo el
@ Chahk No puedo encontrar la pestaña. ¿Te importaría publicar un enlace de ejemplo para esa pestaña?
Marcel
@Marcel El sitio web de Play Store fue recientemente rediseñado por Google. Desafortunadamente, eliminaron la funcionalidad de la que estaba hablando. Ahora debe hacer clic en el botón "Instalar" para ver los permisos.
Chahk

Respuestas:

5

ACTUALIZACIÓN: Actualmente no funciona según la lista de tiendas de Google Play.

Si está interesado, he desarrollado una aplicación, StripSearch, para filtrar las listas de búsqueda por los permisos utilizados. La aplicación funciona excluyendo resultados que no cumplen con los requisitos de permiso especificados por un filtro de búsqueda dado (un filtro puede excluir, requerir o ignorar permisos específicos). Se incluyen varios filtros de forma predeterminada, pero también puede crear uno propio.

Obtenga StripSearch aquí: https://play.google.com/store/apps/details?id=com.hasslefixes.stripsearch

Si desea ver una demostración que explica su uso, puede ver un video aquí: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch es gratuito, no incluye anuncios ni spyware, y solo utiliza los siguientes permisos:

  • android.permission.INTERNET (obviamente necesario para buscar en la tienda)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (necesario para obtener el ID de Android de Google Play vinculado a su teléfono y cuenta)

Dale una oportunidad!

HassleFixes
fuente
Umm? ¿No está android_idalmacenado en la /data/data/android.provider.settings/databases/settings.dbbase de datos en el dispositivo, incluso sin GSF instalado? Solo me pregunto si acceder a eso realmente necesita un permiso de GSF (y no algo así READ_SECURE_SETTINGS). Ya he escuchado que GSF de alguna manera "sobrescribe" ese original android_iden la inicialización de la cuenta, pero ¿se almacena entonces en un lugar diferente en el dispositivo? ¿Si es así, donde?
Izzy
Por cierto: se ve bien; Lo acabo de agregar a AppBrain y a mi lista de complementos del mercado ;)
Izzy
Originalmente pensé eso también, pero resulta que esa ID de Android, aunque específica de cada teléfono, no es una ID válida para suministrar a Google Play. Para acceder a Google Play a través de la API del mercado (que es cómo funciona StripSearch), se requiere la identificación de Android GTalk. Este blog se profundiza: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id ¡ Gracias por echar un vistazo!
HassleFixes
¡Muchas gracias! Eso llegó justo a tiempo. Estaba a punto de actualizar un dispositivo más para usar "sin Google" (NOGAPPS con BlankStore en su lugar). Ahora tengo un android_id válido para eso :)
Izzy
Sugerencia: si alguien está interesado en obtener más detalles sobre esta aplicación, escribí un resumen en StripSearch que lo ayuda a encontrar aplicaciones con permiso . HassleFixes no tiene problemas, lo arregla y es bastante rápido (es decir, buen soporte :)
Izzy
23

La forma en que actualmente PUEDE hacerse

Durante mi rutina matutina leyendo mis canales RSS, me topé con una revisión en N-Droid , discutiendo una aplicación llamada APEFS . Esta aplicación está desarrollada por estudiantes alemanes (de ahí que su descripción en Playstore esté en alemán, incluso si configura el idioma en inglés). Pero para nuestros lectores no alemanes, una breve descripción aquí:

Básicamente, APEFS es un front-end alternativo para Google Playstore. Navegas por la tienda de juegos como lo haces con la aplicación original y la buscas igual. Pero cuando está en la lista de resultados 1 , entra en juego un filtro avanzado 2 :

Resultados de búsqueda de APEFS Filtro APEFS

Como la segunda captura de pantalla muestra, puede seleccionar qué permisos tiene su aplicación deseada está permitido tener (casilla marcada), y lo que el permiso se debe no tener (casilla sin marcar).

Sin embargo: si bien esto puede usarse para filtrar aplicaciones con permisos no deseados (por ejemplo, mostrar solo aplicaciones sin permiso de Internet), no puede restringir sus resultados a lo contrario (por ejemplo, mostrar solo aplicaciones con permiso de Internet). La aplicación se dirige claramente a los usuarios preocupados por su privacidad / seguridad, y de acuerdo con la revisión (la encontré hace un par de minutos, por lo que aún no pude probarla) hace un muy buen trabajo.


EDITAR:

Como ya fue hace un año, y la promesa en la página de inicio de APEFS ( GTransed to English, ya que su propia versión en inglés no tiene esa declaración en el primer párrafo) parece no cumplirse en el corto plazo (la aplicación todavía está fuera de línea): Considere la solución basada en la web de mi otra respuesta como una alternativa mientras tanto.

Izzy
fuente
El enlace a la tienda Google Play está roto, ¿es este el actualizado? PD: Si , ya hay apoyo Inglés ...
Zuul
@Zuul No, esa es la equivocada. El enlace Play solo se rompe temporalmente , gracias al "relanzamiento Play-8" de la ahora tienda de mosaicos (ver la página de inicio de APEFS ( GTransed to English)). Obviamente, la aplicación usó un poco de raspado del sitio;) Desafortunadamente, su página en inglés no contiene ese aviso ...
Izzy
2
@sashoalm ve tres comentarios sobre el tuyo. Se volvió incompatible con el relanzamiento de PlayStore. Su sitio web dice que están trabajando en una actualización, pero eso parece llevar bastante tiempo (ya lo dice desde el relanzamiento). Aún así, no pierdas la esperanza!
Izzy
1
4 años después y todavía están trabajando en esa actualización. Sin embargo, @Izzy me ha inspirado a no perder la esperanza ;-)
Spencer D
2
@Izzy, para tu información, StripSearch también está roto, parece. No estoy seguro de si todavía funciona de alguna manera para algunas personas, pero para mí no funcionó, y creo que leí comentarios en otros lugares que otros usuarios informaron que estaba roto. (Es posible que hayan estado en las reseñas de Play Store de la aplicación). Independientemente, terminé usando su solución que funcionó perfectamente. Sin embargo, no quería dejar comentarios sobre eso, solo diciendo "+1 gracias". sin embargo, su página web es la única búsqueda / filtro que encontré. Entonces, obtuviste mi voto positivo y mi gratitud. Hiciste una excelente contribución a la comunidad.
Spencer D
14

Han pasado más de dos años desde que se hizo esta pregunta. Aún así, no hay una "solución oficial" disponible. A pesar de sus promesas, APEFS (presentado en mi respuesta anterior hace más de un año) no ha regresado. Entonces decidí crear mi propia solución:

Durante casi 4 años, mantengo listados de "aplicaciones de Android por propósito", es decir, agrupadas por sus casos de uso. En marzo, comencé a moverlos a mi propio servidor . Todos los MetaData se almacenan en una base de datos en ese servidor, y finalmente pude configurar una búsqueda por permisos .

SearchMask
Máscara de búsqueda para encontrar "aplicaciones por categoría y permiso" (haga clic en la imagen para ver una variante más grande)

Puede seleccionar entre 1 y 5 categorías aquí (tenga en cuenta que seleccionar una "categoría principal" incluye automáticamente todos sus "elementos secundarios"), más uno o más permisos. Los ajustes predeterminados son para encontrar "aplicaciones amigables con los permisos", por lo que si busca a un candidato así, simplemente puede enviar el formulario después de haber hecho las selecciones descritas. Esto debería facilitar, por ejemplo, encontrar una aplicación PIM que no solicite el permiso de Internet (para mantener sus datos personales en su dispositivo).

Sin embargo, también es posible lo contrario: si desea, por ejemplo, investigar qué bien puede hacer NFC por usted, seleccione las hasta 5 categorías que le interesen, luego el permiso NFC, cambie el cuadro desplegable "Permisos" a "incluir" y, opcionalmente, la clasificación a "por calificación, descendente" (para obtener primero las aplicaciones mejor calificadas).

En caso de duda, hay ese pequeño ícono de signo de interrogación en la esquina superior derecha, que le brinda "ayuda en línea".

Pero eso no es todo. Como he explicado en el segundo párrafo, las aplicaciones en mis listas están agrupadas por su "propósito", es decir, para qué las necesita. Por lo tanto, las aplicaciones con una funcionalidad comparable deberían aparecer una al lado de la otra:

Lista de aplicaciones
Categoría con detalles de la aplicación (fuente: la página de ayuda (de ahí los "números rojos"); haga clic en la imagen para ver una variante más grande)

Por lo tanto, puede compararlos no solo por calificación, sino también elegir el que solicita menos permisos (número en el cuadro; en la imagen de arriba indicada con un "rojo 6") o, si es posible, sin ninguna preocupación (sin borde rojo alrededor del cuadro ) Al hacer clic en el nombre de la aplicación, se muestran algunos detalles más, como se muestra. Y hay muchos "huevos de pascua" (es decir, eventos MouseOver); nuevamente, apunte a la página de ayuda.


Divulgación completa: como se indicó inicialmente, el sitio descrito fue diseñado por mí, construido por mí, llenado por mí con su contenido y aún lo mantengo. Está disponible en dos idiomas (inglés / alemán), sin costo alguno (esto incluye: sin cookies, Flash-cookies, lo que sea), etc. Esta pregunta aquí en Android.SE fue una de las razones por las que la configuré.

Además, tenga en cuenta el hecho de que esto no cubre toda la "colección de Play Store". A partir de hoy, hay un poco más de 10,000 aplicaciones registradas en la base de datos (que probablemente sea un poco menos del 1% de lo que está en Play, a menos que no cuentes las aplicaciones basura, falsas e inútiles en Play, entonces mis registros podría cubrir alrededor del 10% ☺). Aún así espero (y creo) que ya sea un recurso útil que disfrutarás.

Izzy
fuente
13

¿Por qué actualmente   esto no se puede hacer?

Cuando un desarrollador realiza la carga de su aplicación en Google Play, el archivo de manifiesto de la aplicación se lee en una base de datos, desde donde se realiza la búsqueda de aplicaciones.

Para permitir la búsqueda de aplicaciones en función de sus permisos, uno tendría que acceder a la base de datos y recopilar datos que conciernen al nodo de manifiesto de la aplicación <uses-permission>, previamente leído desde el archivo AndroidManifest.xml , donde el desarrollador ha declarado los permisos de su aplicación.

Si bien esto parece bastante sencillo, la API de Google no proporciona medios para este fin:

Estrictamente, Google Play no filtra en función de los elementos <uses-permission>.

De los filtros en Google Play Filtrado basado en elementos de manifiesto - <usuario-permisión> .


Elaborando

Esencialmente, Google Play Store utiliza el archivo de manifiesto de la aplicación para aplicar automáticamente filtros basados ​​en el dispositivo del usuario, las especificaciones de hardware, el país, el operador, etc.

Todo esto se hace en silencio sin la intervención de ningún parámetro de búsqueda.

Un usuario de Google Play o de motores de búsqueda de terceros puede limitar los resultados después de que Google los filtre automáticamente, según sus preferencias personales, como excluir aplicaciones pagas; limite los resultados a aplicaciones que sean compatibles con los dispositivos del usuario, entre otros. Pero no hay forma de interferir con los filtros aplicados por Google. Incluso si, de alguna manera , llegamos a esa parte, la API esencialmente no está preparada / diseñada para filtrar según los permisos como se mencionó anteriormente.

Zuul
fuente
1
Debo decir que su guía fue útil (vea mi respuesta aquí ): funciona, extrayendo datos de la aplicación (incluidos los permisos) a través de la API Playstore, alimentándola en una base de datos y ejecutando la búsqueda contra esta última :)
Izzy
6

Respuesta simple: no lo haces. Aunque puedes sentirte libre de preguntarle a Google. Como dijo el usuario Chahk, la interfaz web le ahorra unos pocos clics, pero todavía no hay forma de filtrar los resultados que está solicitando.

9ball
fuente
5

Una forma aproximada es crear una aplicación Java que utilice android-market-api . Actualmente puede buscar aplicaciones basadas en "palabras clave o nombre del paquete". La consulta de búsqueda se puede construir para buscar el permiso necesario que se busca. Se requiere poca tarea, pero parece útil.

Después de descargar androidmarketapi-0.6.jar y protobuf-java-2.2.0.jar (por supuesto, ya debe tener JRE configurado) puede ejecutar lo siguiente:

java -jar androidmarketapi-X.Y.jar myemail mypassword myquery

Debe reemplazar XY con 0.6, ya que es la versión actual y reemplazar las credenciales y la consulta. Para la consulta de construcción puede visitar esta página.

Narayanan
fuente
¿Qué tipo de consulta generaría aplicaciones con permiso? No veo nada relacionado con eso.
RR
No estoy seguro de eso, ya que solo busca por nombre de paquete por "String query =" pname: <package> ";" y por nombre del desarrollador "String query =" pub: <name> ";" se dan como ejemplo. Al proporcionar la palabra clave adecuada en la búsqueda (que debe desenterrarse), espero que pueda obtener lo que está buscando.
Narayanan
2

Si tiene habilidades de programación, puede escribir su propio analizador y usar filtros encima. No pude encontrar nada sobre API, pero puede analizar lentamente la interfaz web para obtener lo que desea.

No es la solución más simple, pero puede darle mucha confianza con los resultados que puede obtener.

Sinceramente, desearía poder hacer un ejemplo simple en Python, pero no tengo tiempo ahora. Quizás en el futuro más cercano.

Крайст
fuente
1
Eso es lo que estoy tratando de evitar. Descargar medio millón de páginas web no está en la cima de mis pasatiempos favoritos. 12 GB de banda y 50 GB de datos sin procesar y quién sabe cuántas horas de máquina. Puedo escribir el código que preferiría no hacerlo.
RR
1
Compre un servidor, escriba un programa que almacene en caché la lista de permisos y ejecútelo allí, y actualice la caché de las aplicaciones cuando obtengan nuevas versiones, pero solo cuando la aplicación coincida con la consulta de palabras clave de algún usuario (e incluso puede paginar los resultados y limitarse a las páginas que ve el usuario.) Luego agregue anuncios para que pueda pagar el servidor, y tal vez incluso agregue los pasos "???" y "¡GANANCIAS!".
Adrian Panasiuk
2
¿Ya no usamos servidores?
Adrian Panasiuk
... o simplemente trata de hablar con el equipo de Google para agregar esa función.
Крайст
1
@Kpa gracias por vincular una página que no tiene nada que ver con esto.
RR
1

La búsqueda con el nombre del permiso todavía significa que busca en el mejor de los casos a través de la descripción de la aplicación

Por ejemplo: "UBICACIÓN GRUESA (BASADA EN RED)" -> al buscar esto, se enumerarán las aplicaciones que tienen esta información en sus descripciones, pero no se puede buscar en la pestaña Permisos.

Si Google permitiera raspar la información de todas las aplicaciones, como lo estaba yo, entonces podría proporcionarle al mundo un motor de búsqueda para buscar aplicaciones a través de los permisos que requieren :)

gaara87
fuente
1

Ninguna de las soluciones mencionadas aquí está funcionando a partir de febrero de 2018.

Así que creé mi propia solución simple que documentaré a continuación.

TL; DR: use la API de AppBrain.

La respuesta larga

  1. Cree una carpeta llamada appSearch, por ejemplo.

  2. Regístrese para obtener una cuenta en AppBrain. Luego ve a tu panel de desarrollo . Le pedirá que habilite la opción Desarrollador para su cuenta.

  3. Navega a la página de acceso a la API.

  4. Copie el campo de autenticación, que se parece di=xxxx&t=zzzzzy almacene los valores en un archivo llamado appBrain.jsonen el siguiente formato:

    {"DI": "xxxx", "TOKEN": "aaaa"}

  5. Ahora descargue filter.js y guárdelo en la misma carpeta ('appSearch').

  6. Instalar Java 8+

  7. Ejecute el siguiente comando:, jjs -scripting filter.js -- keyworddonde la palabra clave puede ser cualquier término de búsqueda.

  8. Debería ver una lista de 50 aplicaciones que coinciden con su término de búsqueda y están ordenadas por la cantidad de permisos, con un enlace a su página de Play Store.

    Editar: el código en filter.jses relativamente simple y se puede adaptar a sus propios criterios, si conoce un poco de programación. Intentaré hacerlo más configurable en el futuro.

  9. El nivel gratuito permite un número limitado de consultas por día. Aún así, podrá realizar unas 30 búsquedas por día, lo que es suficiente para uso personal.

HRJ
fuente
"Ninguna de las soluciones mencionadas aquí funciona a partir de febrero de 2017". No puedo creer eso. Mi búsqueda de aplicaciones aún funciona, y aún es febrero de 2018;) // Gracias por su enfoque, pero no encaja completamente con la pregunta. El objetivo era eliminar las aplicaciones de la lista de resultados si solicitan ciertos permisos, no solo una lista ordenada por número de permisos. Y AFAIK, el "nivel gratuito" está limitado a 10 solicitudes por día. Buena idea, sin embargo :)
Izzy
1
Vaya, editado en febrero de 2018. Me gusta su solución, pero es una lista curada, que no escala. Las aplicaciones que he desarrollado, por ejemplo, no están comprensiblemente en su lista, aunque requieren muy pocos permisos y son populares. El filter.jsque he vinculado es un código de ejemplo que puede personalizarse (por alguien que conozca la programación). Quizás si tengo más tiempo lo haré más configurable para los no programadores.
HRJ
Claro, lo incompleto es un inconveniente. Pero siempre puede recomendar que las aplicaciones se incluyan en la lista, Harshad: aquí para las listas de aplicaciones y aquí para el repositorio :) Como se ocupa de solicitar la menor cantidad posible de permisos, me interesaría especialmente tener esas aplicaciones en la lista
Izzy