Come cercare le autorizzazioni nel Play Store?


66

Come faccio a specificare che non desidero visualizzare app che richiedono ad esempio l'accesso a Internet? O per mostrare solo le app che utilizzano un'autorizzazione specifica?

Un repository specifico con ricerca sulla sua pagina web? Un'app che fornisce ricerche nel Play Store?


6
Questo può davvero essere un ottimo suggerimento per Google ..
Android Quesito

8
Se usi l'interfaccia Web di Play Store, non è necessario tentare l'installazione per visualizzare le autorizzazioni di un'app: è presente una scheda nella pagina di ciascuna app che le elenca. Potrebbe farti risparmiare qualche clic.
Chahk,

3
AppBrain dovrebbe essere in grado di aggiungere questa funzionalità. Ecco la richiesta di funzionalità . Vota per questo. :)
Flusso

@Chahk Non riesco a trovare la scheda. Ti dispiacerebbe pubblicare un link di esempio per quella scheda?
Marcel,

@Marcel Il sito Web del Play Store è stato recentemente riprogettato da Google. Purtroppo hanno rimosso la funzionalità di cui stavo parlando. Ora è necessario fare clic sul pulsante "Installa" per visualizzare le autorizzazioni.
Chahk,

Risposte:


5

AGGIORNAMENTO: attualmente non funzionante secondo l'elenco del negozio di Google Play.

Se sei interessato, ho sviluppato un'app, StripSearch, per filtrare gli elenchi di ricerca in base alle autorizzazioni utilizzate. L'app funziona escludendo risultati che non soddisfano i requisiti di autorizzazione specificati da un determinato filtro di ricerca (un filtro può escludere, richiedere o ignorare autorizzazioni specifiche). Diversi filtri sono inclusi per impostazione predefinita, ma puoi anche crearne uno tuo.

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

Se vuoi vedere una demo che spiega il suo utilizzo, puoi guardare un video qui: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch è gratuito, non include pubblicità o spyware e utilizza solo le seguenti autorizzazioni:

  • android.permission.INTERNET (ovviamente necessario per cercare nel negozio)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (necessario per ottenere l'ID Android di Google Play legato al tuo telefono e account)

Fai una prova!


Umm? Non è android_idmemorizzato nel /data/data/android.provider.settings/databases/settings.dbdatabase sul dispositivo, anche senza GSF installato? Mi chiedo solo se accedervi abbia davvero bisogno di un'autorizzazione GSF (e non qualcosa del genere READ_SECURE_SETTINGS). Ho già sentito GSF in qualche modo "sovrascrivere" quell'originale sull'inizializzazione android_iddell'account - ma è archiviato in un posto diverso sul dispositivo allora? Se sì, dove?
Izzy

A proposito: sembra bello; L'ho appena aggiunto ad AppBrain e al mio elenco di add-on di mercato ;)
Izzy

Inizialmente lo pensavo anch'io, ma risulta che quell'ID Android, sebbene specifico per ciascun telefono, non è un ID valido per la fornitura a Google Play. Per accedere a Google Play tramite l'API di mercato (che funziona come StripSearch), è necessario l'ID Android GTalk. Questo blog approfondisce: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id Grazie per dare un'occhiata!
HassleFixes,

Molte grazie! È arrivato giusto in tempo. Stava per eseguire il reflash di un altro dispositivo da utilizzare "senza Google" (invece NOGAPPS con BlankStore). Ora ho un android_id valido per questo :)
Izzy

Suggerimento: se qualcuno è interessato a maggiori dettagli su questa app, ho scritto un riepilogo in StripSearch che ti aiuta a trovare le app tramite autorizzazione . HassleFixes non fa seccature, corregge e abbastanza veloce (cioè un buon supporto :)
Izzy

23

Come attualmente PUÒ essere fatto

Durante la mia routine mattutina, leggendo i miei feed RSS, mi sono imbattuto in una recensione su N-Droid , discutendo di un'app chiamata APEFS . Questa app è sviluppata da studenti tedeschi (quindi la sua descrizione sul Playstore è in tedesco, anche se imposti la lingua in inglese). Ma per i nostri lettori non tedeschi, una breve descrizione qui:

Fondamentalmente, APEFS è un front-end alternativo a Google Playstore. Sfoglia il playstore come fai con l'app originale e lo cerchi allo stesso modo. Ma quando nell'elenco dei risultati 1 , entra in gioco un filtro avanzato 2 :

Risultati della ricerca APEFS Filtro APEFS

Come il secondo mostra screenshot, è possibile selezionare quali autorizzazioni vostra applicazione vuole è permesso di avere (casella segnata), e ciò che il permesso che dovrebbe non avere (casella deselezionata).

Tuttavia: sebbene possa essere utilizzato per filtrare le app con autorizzazioni indesiderate (ad es. Mostrare solo le app senza l'autorizzazione di Internet), non è possibile limitare i risultati al contrario (ad es. Mostrare solo app con l'autorizzazione di Internet). L'app si rivolge chiaramente agli utenti preoccupati per la loro privacy / sicurezza - e secondo la recensione (l'ho appena trovata un paio di minuti fa, quindi non ho ancora potuto testarlo) fa un ottimo lavoro.


MODIFICARE:

Com'è già un anno fa, e la promessa sulla home page di APEFS ( GTransed in inglese, poiché la loro versione inglese non ha quella dichiarazione nel primo paragrafo) sembra non essere mantenuta presto (l'app è ancora offline): Nel frattempo, considera la soluzione basata sul Web della mia altra risposta come alternativa.


Il link al Google Play Store è rotto, è questo quello nuovo? Ps: se , c'è già supporto inglese ...
Zuul,

@Zuul No, è quello sbagliato. Il link Play è temporaneamente interrotto, grazie al " riavvio Play-8" dell'ormai store-store (vedi la pagina iniziale di APEFS ( trasferito in inglese)). Ovviamente l'app utilizzava alcuni scraping del sito;) Sfortunatamente, la loro pagina inglese non contiene quell'avviso ...
Izzy

2
@sashoalm vedi tre commenti in cima ai tuoi. È diventato incompatibile con il riavvio del PlayStore. Il loro sito web dice che stanno lavorando ad un aggiornamento, ma sembra richiedere un po 'di tempo (lo dice già dal rilancio già). Tuttavia, non rinunciare alla speranza!
Izzy

1
4 anni dopo e stanno ancora lavorando su quell'aggiornamento. Tuttavia, @Izzy mi ha ispirato a non rinunciare alla speranza ;-)
Spencer D

2
@Izzy, amico, StripSearch è anche rotto sembra. Non sono sicuro che funzioni ancora per alcune persone, ma per me non ha funzionato, e credo di aver letto i commenti da qualche altra parte che altri utenti lo hanno segnalato come rotto. (Quelli potrebbero essere stati effettivamente nelle recensioni dell'app Play Store.) Indipendentemente da ciò, ho finito per usare la tua soluzione che ha funzionato perfettamente. Non volevo lasciare un feedback su questo, però, solo dicendo: "+1 grazie;" tuttavia, la tua pagina web è l'unica ricerca / filtro funzionante che ho trovato. Quindi, hai ottenuto il mio voto e la mia gratitudine. Hai dato un eccellente contributo alla comunità.
Spencer D,

14

Sono trascorsi più di due anni da quando questa domanda è stata posta. Tuttavia, non esiste una "soluzione ufficiale" disponibile. Nonostante le sue promesse, APEFS (introdotto nella mia precedente risposta più di un anno fa) non è tornato. Quindi ho deciso di creare la mia soluzione:

Per quasi 4 anni, mantengo elenchi di "app Android per scopo", ovvero raggruppate per i loro casi d'uso. A marzo, ho iniziato a spostarli sul mio server . Tutti i MetaData sono memorizzati in un database su quel server, e così finalmente sono stato in grado di impostare una ricerca per autorizzazione .

SearchMask
Maschera di ricerca per trovare "app per categoria e autorizzazione" (fare clic sull'immagine per una variante più grande)

Puoi selezionare tra 1 e 5 categorie qui (nota che la selezione di una "categoria genitore" include automaticamente tutti i suoi "figli"), oltre a una o più autorizzazioni. Le preimpostazioni predefinite servono per trovare "app compatibili con le autorizzazioni", quindi se stai cercando un tale candidato, puoi semplicemente inviare il modulo dopo aver effettuato le selezioni descritte. Ciò dovrebbe consentire, ad esempio, di trovare facilmente un'app PIM che non richiede l'autorizzazione Internet (per conservare i dati personali sul dispositivo).

Tuttavia, è anche possibile il contrario: se ad esempio vuoi indagare cosa può fare un buon NFC per te, seleziona fino a 5 categorie che ti interessano, quindi l'autorizzazione NFC, passa la casella "Autorizzazioni" su "include" e facoltativamente l'ordinamento su "per valutazione, decrescente" (per ottenere prima le app con le migliori valutazioni).

In caso di dubbio, c'è quella piccola icona del punto interrogativo nell'angolo in alto a destra, che fornisce un po 'di "aiuto online".

Ma non è tutto. Come ho spiegato nel secondo paragrafo, le app nei miei elenchi sono raggruppate in base al loro "scopo", ovvero a cosa ti servono. Quindi le app con funzionalità simili dovrebbero apparire una accanto all'altra:

Elenco delle app
Categoria con dettagli dell'app (fonte: la pagina della guida (da cui i "numeri rossi"); fare clic sull'immagine per una variante più grande)

Quindi puoi confrontarli non solo per valutazione, ma anche scegliere quello che richiede meno autorizzazioni (numero nella casella; nell'immagine sopra indicata da un "rosso 6") o, se possibile, senza problemi (nessun bordo rosso attorno alla scatola ). Facendo clic sul nome dell'app vengono visualizzati ulteriori dettagli, come mostrato. E ci sono molte "uova di Pasqua" (ad es. Eventi MouseOver) - di nuovo, fai riferimento alla pagina di aiuto.


Divulgazione completa: Come inizialmente indicato, il sito descritto è stato progettato da me, costruito da me, riempito da me con il suo contenuto ed è ulteriormente gestito da me. È disponibile in due lingue (inglese / tedesco), gratuitamente (questo include: nessun cookie, cookie Flash, ecc.). Questa domanda su Android.SE è stata una delle ragioni per cui l'ho impostata.

Inoltre, sii consapevole del fatto che ciò non copre l'intera "collezione Playstore". Ad oggi, ci sono poco più di 10.000 app registrate nel database (che è probabilmente un po 'meno dell'1% di ciò che è su Play - a meno che non si contino le schifezze, i falsi e le app inutili su Play, quindi i miei record potrebbe coprire circa il 10% ☺). Spero comunque (e penso) che sia già una risorsa utile che ti piacerà.


13

Perché attualmente   non è possibile farlo

Quando uno sviluppatore esegue il caricamento della sua applicazione su Google Play, il file manifest dell'applicazione viene letto in un database da cui viene eseguita la ricerca di app.

Per consentire la ricerca di applicazioni in base alle loro autorizzazioni, si dovrebbe accedere al database e raccogliere i dati relativi al nodo manifest dell'applicazione <uses-permission>, precedentemente letti dal file AndroidManifest.xml , dove lo sviluppatore ha dichiarato le proprie autorizzazioni dell'applicazione.

Anche se questo sembra abbastanza semplice, l'API di Google non fornisce mezzi a tal fine:

In senso stretto, Google Play non filtra in base agli elementi <uses-permission>.

Dai filtri su Google Play Filtro basato su Manifest Elements - <uses-permission> .


elaborando

In sostanza, Google Play Store utilizza il file manifest dell'applicazione per applicare automaticamente i filtri in base al dispositivo dell'utente, alle specifiche hardware, al Paese, all'operatore telefonico, ecc.

Tutto ciò avviene silenziosamente senza l'intervento di alcun parametro di ricerca.

Un utente di Google Play o di motori di ricerca di terze parti può limitare i risultati dopo essere stati filtrati automaticamente da Google, in base alle preferenze personali come l'esclusione delle app a pagamento; limitare i risultati alle app compatibili con i dispositivi degli utenti, tra gli altri. Ma non c'è modo di interferire con i filtri applicati da Google. Anche se, in qualche modo , arriviamo a quella parte, l'API essenzialmente non è preparata / progettata per filtrare in base alle autorizzazioni come menzionato sopra.


1
Devo dire che la tua guida è stata utile (vedi la mia risposta qui ): funziona, estraendo i dati delle app (comprese le autorizzazioni) tramite l'API Playstore, inserendoli in un database ed eseguendo la ricerca su quest'ultimo :)
Izzy

6

Risposta semplice: non lo fai. Puoi sentirti libero di chiedere a Google. Come ha detto l'utente Chahk, l'interfaccia Web ti consente di risparmiare alcuni clic, ma non è ancora possibile filtrare i risultati come richiesto.


5

Un modo per aggirare è quello di creare un'app Java che utilizza Android Market-API . Attualmente può cercare l'app in base a "parole chiave o nome del pacchetto". La query di ricerca può essere creata per cercare l'autorizzazione necessaria richiesta. Sono richiesti pochi compiti, ma sembra utile.

Dopo aver scaricato androidmarketapi-0.6.jar e protobuf-java-2.2.0.jar (ovviamente dovresti avere JRE già configurato) puoi eseguire quanto segue:

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

Devi sostituire XY con 0.6 poiché questa è la versione attuale e sostituire credenziali e query. Per la creazione di query è possibile visitare questa pagina.


Che tipo di query produrrebbe le app per autorizzazione? Non vedo nulla di correlato a questo.
RR

Non ne sono sicuro in quanto ricerca solo in base al nome del pacchetto tramite "String query =" pname: <package> ";" e per nome dello sviluppatore "String query =" pub: <name> ";" sono riportati come esempio. Fornendo la parola chiave adatta nella ricerca (che deve essere scavata), spero che tu possa ottenere quello che stai cercando.
Narayanan,

2

Se hai capacità di programmazione puoi scrivere il tuo parser e usare i filtri sopra di esso. Non sono riuscito a trovare nulla sull'API ma è possibile analizzare lentamente l'interfaccia Web per ottenere ciò che si desidera.

Non è la soluzione più semplice ma può renderti molto sicuro dei risultati che puoi ottenere.

Onestamente vorrei poter fare un semplice esempio in Python ma non ho tempo adesso. Forse nel prossimo futuro.


1
Questo è quello che sto cercando di evitare. Scaricare mezzo milione di pagine Web non è in cima ai miei passatempi fa voriti. 12 GB di bandwithand 50 GB di dati grezzi e chissà quante ore di macchina. Posso scrivere il codice che preferirei semplicemente non.
RR

1
Acquista un server, scrivi un programma che memorizza nella cache l'elenco delle autorizzazioni ed eseguilo lì e aggiorna la cache per le app quando ottengono nuove versioni, ma solo quando l'app corrisponde alla query di alcune parole chiave dell'utente (e puoi persino impaginare i risultati e limitarti a le pagine visualizzate dall'utente.) Quindi aggiungi gli annunci in modo da poter pagare per il server e magari aggiungere anche i passaggi "???" e "PROFIT!".
Adrian Panasiuk,

2
Non usiamo più i server?
Adrian Panasiuk,

... oppure prova a parlare con il team di Google per aggiungere quella funzione.
Крайст,

1
@Kpa grazie per aver collegato una pagina che non ha nulla a che fare con questo.
RR

1

Cercare con il nome dell'autorizzazione significa comunque che cerca nella migliore delle ipotesi attraverso la descrizione dell'app

Ad esempio: "POSIZIONE COARSE (BASATA SUL NETWORK)" -> la ricerca di questo elencherà le applicazioni che hanno queste informazioni elencate nelle loro descrizioni, ma non riesce a cercare nella scheda Autorizzazioni.

Se google mi permettesse di racimolare le informazioni di tutte le app, come me, sarei in grado di fornire al mondo un motore di ricerca per cercare le app attraverso le autorizzazioni necessarie :)


1

Nessuna delle soluzioni menzionate qui funziona a partire da febbraio 2018.

Così ho creato la mia semplice soluzione che documenterò di seguito.

TL; DR: usa l'API di AppBrain.

La lunga risposta

  1. Crea una cartella chiamata appSearch, ad esempio.

  2. Iscriviti per un account su AppBrain. Quindi vai alla dashboard del tuo sviluppatore . Ti verrà richiesto di abilitare l'opzione Sviluppatore per il tuo account.

  3. Passare alla pagina di accesso API.

  4. Copia il campo di autenticazione, che assomiglia di=xxxx&t=zzzzze memorizza i valori in un file chiamato appBrain.jsonnel seguente formato:

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

  5. Ora scarica filter.js e salvalo nella stessa cartella ('appSearch').

  6. Installa Java 8+

  7. Esegui il seguente comando jjs -scripting filter.js -- keyword:, dove parola chiave può essere qualsiasi termine di ricerca.

  8. Dovresti visualizzare un elenco di 50 app che corrispondono al termine di ricerca e sono ordinate in base al numero di autorizzazioni, con un link alla loro pagina del Play Store.

    Modifica: il codice in filter.jsè relativamente semplice e può essere personalizzato per soddisfare i tuoi criteri, se conosci un po 'di programmazione. Proverò a renderlo più configurabile in futuro.

  9. Il livello gratuito consente un numero limitato di query al giorno. Tuttavia, sarai in grado di effettuare circa 30 ricerche al giorno, il che è abbastanza per uso personale.


"Nessuna delle soluzioni menzionate qui funziona a partire da febbraio 2017." Non ci posso credere. La mia ricerca di app funziona ancora ed è persino febbraio 2018;) // Grazie per l'approccio, ma non si adatta perfettamente alla domanda. L'obiettivo era eliminare le app dall'elenco dei risultati se richiedono determinate autorizzazioni, non solo un elenco ordinato per numero di autorizzazioni. E AFAIK il "livello gratuito" è limitato a 10 richieste al giorno. Bella idea, però :)
Izzy

1
oops, modificato a febbraio 2018. Mi piace la tua soluzione, ma è un elenco curato, che non si ridimensiona. Le app che ho sviluppato, ad esempio, non sono comprensibilmente nella tua lista, anche se richiedono pochissime autorizzazioni e sono popolari. Quello a filter.jscui ho collegato è un codice di esempio che può essere personalizzato (da qualcuno che conosce la programmazione). Forse se avrò più tempo, lo renderò più configurabile per i non programmatori.
HRJ,

Certo, l'incompletezza è un inconveniente. Ma sei sempre il benvenuto a raccomandare di elencare le app, Harshad - qui per gli elenchi di app e qui per il repository :) Dato che ti occupi di richiedere il minor numero possibile di permessi, sarei particolarmente interessato ad avere quelle app elencati.
Izzy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.