Comment rechercher dans le Play Store avec des autorisations?

66

Comment puis-je spécifier que je ne souhaite pas voir les applications nécessitant par exemple un accès à Internet? Ou pour afficher uniquement les applications qui utilisent une autorisation spécifique?

Un référentiel spécifique avec recherche sur sa page Web? Une application qui fournit une recherche sur le Play Store?

Adrian Panasiuk
la source
6
Cela peut vraiment être une bonne suggestion pour Google ..
Android Quesito
8
Si vous utilisez l'interface Web de Play Store, vous n'avez pas besoin de tenter l'installation pour afficher les autorisations d'une application. Un onglet les répertorie sur la page de chaque application. Pourrait vous sauver quelques clics.
Chahk
3
AppBrain devrait pouvoir ajouter cette fonctionnalité. Voici la demande de fonctionnalité . Votez pour cela. :)
Débit
@Chahk Je ne trouve pas l'onglet. Souhaitez-vous poster un exemple de lien pour cet onglet?
Marcel
@Marcel Le site Web du Play Store a été récemment repensé par Google. Malheureusement, ils ont supprimé la fonctionnalité dont je parlais. Vous devez maintenant cliquer sur le bouton "Installer" pour afficher les autorisations.
Chahk

Réponses:

5

UPDATE: Actuellement non fonctionnel selon la liste du magasin Google Play.

Si cela vous intéresse, j'ai développé une application, StripSearch, pour filtrer les résultats de recherche en fonction des autorisations utilisées. L'application fonctionne en excluant les résultats qui ne répondent pas aux conditions d'autorisation spécifiées par un filtre de recherche donné (un filtre peut exclure, exiger ou ignorer des autorisations spécifiques). Plusieurs filtres sont inclus par défaut, mais vous pouvez également créer les vôtres.

Obtenez StripSearch ici: https://play.google.com/store/apps/details?id=com.hasslefixes.stripsearch

Si vous souhaitez voir une démonstration expliquant son utilisation, vous pouvez regarder une vidéo ici: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch est gratuit, n'inclut pas les annonces ni les logiciels espions et n'utilise que les autorisations suivantes:

  • android.permission.INTERNET (évidemment nécessaire de rechercher dans le magasin)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (nécessaire pour obtenir l'identifiant Google Play Android associé à votre téléphone et à votre compte)

Essayez-le!

HassleFixes
la source
Umm? La mémoire n'est-elle pas android_idstockée dans la /data/data/android.provider.settings/databases/settings.dbbase de données sur le périphérique, même si aucun fichier GSF n'est installé? Je me demandais simplement si accéder à cela nécessitait une autorisation GSF (et non quelque chose comme READ_SECURE_SETTINGS). J'ai déjà entendu GSF "écraser" en quelque sorte cet original android_idlors de l'initialisation du compte - mais est-il stocké à un endroit différent de l'appareil? Si oui où?
Izzy
BTW: Ca a l'air cool; Je viens de l'ajouter à AppBrain et à ma liste d' ajouts de marchés ;)
Izzy
Au départ, je le pensais aussi, mais il s’avère que cet identifiant Android, bien que spécifique à chaque téléphone, n’est pas un identifiant valide pour la fourniture à Google Play. Pour accéder à Google Play via l'API du marché (qui décrit le fonctionnement de StripSearch), l'ID Android GTalk est requis. Ce blog va plus en profondeur: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id Merci de prendre un coup d'oeil!
HassleFixes
Merci beaucoup! C'est arrivé juste à temps. Était sur le point de reflasher un autre appareil à utiliser "sans Google" (NOGAPPS avec BlankStore à la place). Maintenant, j'ai un android_id valide pour ça :)
Izzy
Astuce: si quelqu'un est intéressé par plus de détails sur cette application, j'ai écrit un résumé dans StripSearch qui vous aide à trouver des applications avec une permission . HassleFixes ne fait pas de soucis, il corrige, et très rapidement (bon support)
Izzy
23

Comment ça actuellement PEUT être fait

Au cours de ma routine matinale en lisant mes flux RSS, je suis tombé sur une critique chez N-Droid , discutant d'une application nommée APEFS . Cette application est développée par des étudiants allemands (par conséquent, sa description sur le Playstore est en allemand, même si vous définissez la langue en anglais). Mais pour nos lecteurs non allemands, une brève description ici:

Fondamentalement, APEFS est une interface alternative au Google Playstore. Vous parcourez le magasin comme vous le faites avec l'application d'origine et effectuez une recherche identique. Mais lorsque sur la liste de résultats 1 , un filtre avancé 2 entre en jeu:

Résultats de la recherche APEFS Filtre APEFS

Comme le montre la deuxième capture d'écran, vous pouvez sélectionner les autorisations dont votre application désirée est autorisée à cocher (case à cocher) et celles qu'elle ne devrait pas avoir (case à cocher décochée).

Cependant, bien que cela puisse être utilisé pour filtrer les applications avec des autorisations non souhaitées (par exemple, afficher uniquement les applications sans autorisation Internet), vous ne pouvez pas limiter vos résultats au contraire (par exemple, ne montrer que les applications avec une autorisation Internet). L’application cible clairement les utilisateurs préoccupés par leur vie privée / sécurité - et selon l’étude (je l’ai trouvée il y a quelques minutes, je ne pouvais donc pas encore la tester), il fait un très bon travail.


MODIFIER:

Comme il y a un an déjà, et la promesse sur la page d'accueil de l' APEFS ( GTransed en anglais, car leur propre version anglaise ne comporte pas cette déclaration dans le premier paragraphe) ne semble pas être remplie de sitôt (l'application est toujours hors connexion): Veuillez considérer la solution Web de mon autre réponse comme une solution de rechange.

Izzy
la source
Le lien vers le magasin Google Play est cassé, est- ce celui qui a été mis à jour? Ps: si oui , il y a déjà un soutien anglais ...
Zuul
@Zuul Non, c'est le mauvais. Le lien de lecture n’est interrompu que temporairement , grâce au "relancement de Play-8" du magasin de tuiles (voir APEFS Homepage ( GTransed en anglais)). De toute évidence, l'application utilisait des sites-scraping;) Malheureusement, leur page anglaise ne contient pas cette notification ...
Izzy
2
@sashoalm voit trois commentaires sur le vôtre. Cela est devenu incompatible avec le redémarrage du PlayStore. Leur site Web indique qu'ils travaillent sur une mise à jour - mais cela semble prendre assez longtemps (c'est ce qui est dit depuis le nouveau lancement). Mais n'abandonnez pas l'espoir!
Izzy
1
4 ans plus tard, ils travaillent toujours sur cette mise à jour. Cependant, @Izzy m'a inspiré pour ne pas perdre espoir ;-)
Spencer D
2
@ Izzy, fyi, StripSearch est également cassé semble-t-il. Je ne sais pas si cela fonctionne toujours d'une manière ou d'une autre pour certaines personnes, mais pour moi cela n'a pas fonctionné, et je crois avoir lu dans des commentaires quelque part que d'autres utilisateurs l'avaient signalé comme étant défectueux. (Ceux-ci ont peut-être été dans les critiques de l'application sur Play Store.) Quoi qu'il en soit, j'ai fini par utiliser votre solution qui fonctionnait parfaitement. Je ne voulais pas laisser de commentaires à ce sujet, cependant, juste dire "+1 merci;" Cependant, votre page Web est la seule recherche / filtre de travail que j'ai trouvé. Donc, vous avez mon upvote et ma gratitude. Vous avez apporté une excellente contribution à la communauté.
Spencer D
14

Plus de deux ans se sont écoulés depuis que cette question a été posée. Pourtant, il n'y a pas de "solution officielle" disponible. Malgré ses promesses, APEFS (présenté dans ma réponse précédente il y a plus d'un an) n'est pas revenu. J'ai donc décidé de créer ma propre solution:

Depuis près de 4 ans, je tiens à jour les listes des "applications Android par but", c'est-à-dire regroupées par cas d'utilisation. En mars, j'ai commencé à les transférer sur mon propre serveur . Toutes les méta-données sont stockées dans une base de données sur ce serveur. J'ai donc finalement pu configurer une recherche par autorisations .

Masque de recherche
Masque de recherche pour trouver des "applications par catégorie et par permission" (cliquez sur l'image pour l'agrandir)

Vous pouvez sélectionner entre 1 et 5 catégories ici (notez que la sélection d'une „catégorie parente” inclut automatiquement tous ses „enfants”), plus une ou plusieurs autorisations. Les préréglages par défaut servent à trouver des «applications respectueuses de l'autorisation». Si vous recherchez un tel candidat, vous pouvez simplement soumettre le formulaire après avoir effectué les sélections décrites. Cela devrait faciliter la recherche, par exemple, d'une application PIM qui ne demande pas l'autorisation Internet (pour conserver vos données personnelles sur votre appareil).

Cependant, le contraire est également possible: si vous souhaitez par exemple rechercher ce que la NFC peut faire de bien, sélectionnez les 5 catégories qui vous intéressent, puis l'autorisation NFC, basculez la liste déroulante "Autorisations" sur "Inclure". , et éventuellement le tri sur «par classement, par ordre décroissant» (pour obtenir les applications les mieux notées en premier).

En cas de doute, il y a cette petite icône en forme de point d'interrogation dans le coin supérieur droit, qui vous fournit une aide en ligne.

Mais ce n'est pas tout. Comme je l'ai expliqué dans le deuxième paragraphe, les applications de mes listes sont regroupées par "but", c'est-à-dire pour quoi vous en avez besoin. Donc, les applications avec des fonctionnalités comparables doivent apparaître côte à côte:

Liste d'applications
Catégorie avec les détails de l'application (source: la page d'aide (d'où les «numéros rouges»); cliquez sur l'image pour une variante plus grande)

Ainsi, vous pouvez les comparer non seulement par classement, mais aussi par celui qui demande le moins d'autorisations (numéro dans la case; dans l'image ci-dessus indiquée par un "6 rouges") ou, si possible, sans souci (sans bordure rouge autour de la case ). En cliquant sur le nom de l'application, vous obtenez d'autres détails, comme indiqué. Et il existe de nombreux "œufs de Pâques" (événements MouseOver) - à nouveau, pointez sur la page d'aide.


Divulgation complète: comme indiqué initialement, le site décrit a été conçu par moi, construit par moi, rempli par moi avec son contenu, et est ensuite maintenu par moi. Il est disponible en deux langues (anglais / allemand), gratuitement (cela inclut: pas de cookies, de cookies Flash, etc.), etc. Cette question ici sur Android.SE était l'une des raisons pour lesquelles je l'ai configurée.

De plus, sachez que cela ne couvre pas la totalité de la «collection de playstore». À ce jour, il y a un peu plus de 10 000 applications enregistrées dans la base de données (ce qui représente probablement un peu moins de 1% de ce qui est sur Play - à moins que vous ne comptiez pas la merde, les faux et les applications inutiles sur Play, alors mes enregistrements pourrait couvrir environ 10%). J'espère néanmoins (et pense) que c'est déjà une ressource utile que vous apprécierez.

Izzy
la source
13

Pourquoi actuellement   cela ne peut pas être fait

Lorsqu'un développeur effectue le téléchargement de son application sur Google Play, le fichier manifeste de l'application est lu dans une base de données, à partir de laquelle la recherche d'applications est effectuée.

Pour permettre la recherche d'applications en fonction de leurs autorisations, il serait nécessaire d'accéder à la base de données et de collecter des données concernant le nœud du manifeste d'application <uses-permission>, précédemment lues dans le fichier AndroidManifest.xml , où le développeur a déclaré ses autorisations d'application.

Bien que cela semble assez simple, Google API ne fournit aucun moyen pour cela:

Strictement, Google Play ne filtre pas en fonction des éléments <uses-permission>.

À partir des filtres sur Google Play Filtrage basé sur Manifest Elements - <uses-permission> .


Élaboration

Google Play Store utilise essentiellement le fichier manifeste de l'application pour appliquer automatiquement des filtres en fonction du périphérique de l'utilisateur, des spécifications matérielles, du pays, de l'opérateur, etc.

Tout cela se fait en silence, sans intervention d'aucun paramètre de recherche.

Un utilisateur de Google Play ou de moteurs de recherche tiers peut limiter les résultats une fois qu'il est automatiquement filtré par Google, en fonction de préférences personnelles telles que l'exclusion des applications payantes. limiter les résultats aux applications compatibles avec les appareils de l'utilisateur, entre autres. Mais il n'y a aucun moyen d'interférer avec les filtres appliqués par Google. Même si, dans certains cas , nous en arrivons à cette partie, l’API n’est pour l’essentiel pas préparée / conçue pour filtrer en fonction des autorisations mentionnées ci-dessus.

Zuul
la source
1
Je dois dire que votre guide a été utile (voir ma réponse ici ): cela fonctionne: extraire des données d'applications (y compris les autorisations) via l'API Playstore, les alimenter dans une base de données et lancer la recherche sur cette dernière :)
Izzy
6

Réponse simple: vous ne le faites pas. Bien que vous puissiez vous sentir libre de demander à Google. Comme l’a dit l’utilisateur Chahk, l’interface Web vous évite quelques clics, mais il n’existe toujours aucun moyen de filtrer les résultats lorsque vous le demandez.

9 balles
la source
5

Une solution alternative consiste à créer une application Java qui utilise android-market-api . Actuellement, il peut rechercher une application en fonction de "mots-clés ou nom du package". La requête de recherche peut être créée pour rechercher l’autorisation nécessaire recherchée. Peu de devoirs requis, mais semble utile.

Après avoir téléchargé androidmarketapi-0.6.jar et protobuf-java-2.2.0.jar (vous devez bien entendu disposer de JRE déjà configuré), vous pouvez exécuter les tâches suivantes:

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

Vous devez remplacer XY par 0.6 car c'est la version actuelle et remplacer les informations d'identification et la requête. Pour la construction de requête, vous pouvez visiter cette page.

Narayanan
la source
Quel type de requête générerait des applications avec autorisation? Je ne vois rien lié à cela.
RR
Je ne suis pas sûr que la recherche se fasse uniquement par nom de paquet par "String query =" pname: <paquet> ";" et par nom de développeur "String query =" pub: <name> ";" sont donnés à titre d'exemple. En fournissant le mot-clé approprié dans la recherche (qui doit être déterré), j'espère que vous pourrez obtenir ce que vous recherchez.
Narayanan
2

Si vous avez des compétences en programmation, vous pouvez écrire votre propre analyseur et utiliser les filtres ci-dessus. Je n'ai rien trouvé à propos de l'API, mais vous pouvez analyser lentement l'interface Web pour obtenir ce que vous voulez.

Ce n'est pas la solution la plus simple, mais peut vous donner beaucoup de confiance avec des résultats que vous pouvez obtenir.

Honnêtement, j'aimerais pouvoir faire un exemple simple en Python mais ne pas avoir le temps maintenant. Peut-être dans un avenir proche.

Крайст
la source
1
C'est ce que j'essaie d'éviter. Le téléchargement d'un demi-million de pages Web ne fait pas partie de mes passe-temps préférés. 12 Go de bande passante 50 Go de données brutes et qui sait combien d'heures machine. Je peux écrire le code que je préférerais ne pas utiliser.
RR
1
Achetez un serveur, écrivez un programme qui met en cache la liste d'autorisations et l'exécutez là-bas, et actualisez le cache des applications lorsqu'elles obtiennent de nouvelles versions, mais uniquement lorsque l'application correspond à la requête de mot clé d'un utilisateur (vous pouvez même paginer les résultats et vous limiter à les pages que l'utilisateur voit.) Ajoutez ensuite des annonces pour payer le serveur, et peut-être même ajouter les étapes "???" et "PROFIT!".
Adrian Panasiuk
2
Nous n'utilisons plus de serveurs?
Adrian Panasiuk
... ou essayez simplement de parler à l'équipe Google pour ajouter cette fonctionnalité.
Крайст
1
@Kpa vous remercie d'avoir lié une page qui n'a rien à voir avec cela.
RR
1

Rechercher avec le nom de permission signifie toujours qu'il recherche au mieux dans la description de l'application

Par exemple: "EMPLACEMENT COARSE (SUR LE RÉSEAU)" -> la recherche de cette liste répertorie les applications pour lesquelles cette information est répertoriée, mais la recherche échoue dans l'onglet Autorisations.

Si Google permettait de récupérer les informations de toutes les applications, comme je l'étais, je serais alors en mesure de fournir au monde un moteur de recherche permettant de rechercher des applications via les autorisations requises :)

Gaara87
la source
1

Aucune des solutions mentionnées ici ne fonctionne à partir de février 2018.

J'ai donc créé ma propre solution simple que je vais documenter ci-dessous.

TL; DR: utilise l'API AppBrain.

La longue réponse

  1. Créez un dossier appelé appSearch, par exemple.

  2. Inscrivez-vous pour un compte sur AppBrain. Ensuite, allez sur votre tableau de bord dev . Il vous demandera d'activer l'option Développeur pour votre compte.

  3. Accédez à la page d'accès à l'API.

  4. Copiez le champ d'authentification, qui ressemble à, di=xxxx&t=zzzzzet stockez les valeurs dans un fichier appelé appBrain.jsonau format suivant:

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

  5. Téléchargez maintenant filter.js et enregistrez-le dans le même dossier ('appSearch').

  6. Installer Java 8+

  7. Exécutez la commande suivante:, jjs -scripting filter.js -- keywordoù mot clé peut être n'importe quel terme de recherche.

  8. Vous devriez voir une liste de 50 applications qui correspondent à votre terme de recherche et qui sont triées selon le nombre de permissions, avec un lien vers leur page de magasin de jeux.

    Edit: Le code en filter.jsest relativement simple et peut être adapté à vos propres critères, si vous connaissez un peu de programmation. Je vais essayer de le rendre plus configurable à l'avenir.

  9. Le niveau gratuit permet un nombre limité de requêtes par jour. Vous pourrez néanmoins effectuer environ 30 recherches par jour, ce qui est suffisant pour un usage personnel.

HRJ
la source
"Aucune des solutions mentionnées ici ne fonctionne à partir de février 2017." Je ne peux pas croire ça. Ma recherche d'applications fonctionne toujours, et nous sommes en février 2018 même;) // Merci de votre approche - mais cela ne correspond pas tout à fait à la question. L'objectif était d'éliminer les applications de la liste des résultats si elles demandaient certaines autorisations - pas seulement une liste triée par nombre d'autorisations. Et autant que je sache, le "niveau gratuit" est limité à 10 demandes par jour. Belle idée cependant :)
Izzy
1
oops, publié en février 2018. J'aime votre solution, mais c'est une liste organisée, qui ne s'adapte pas. Les applications que j'ai développées, par exemple, ne sont naturellement pas sur votre liste, bien qu'elles nécessitent très peu d'autorisations et soient populaires. Le filter.jslien que j’ai lié est un exemple de code qui peut être personnalisé (par quelqu'un qui connaît la programmation). Peut-être que si je dispose de plus de temps, je le rendrai plus configurable pour les non-programmeurs.
HRJ
Bien sûr, l'incomplétude est un inconvénient. Mais vous êtes toujours le bienvenu pour recommander des applications à la liste, Harshad - ici pour les listes d'applications, et ici pour le dépôt :) Comme vous prenez soin de demander le moins de permanentes possible, je serais particulièrement intéressé d'avoir ces applications Listé.
Izzy