Jak przeszukiwać Sklep Play według uprawnień?


66

Jak określić, że nie chcę widzieć aplikacji wymagających na przykład dostępu do Internetu? Czy wyświetlać tylko aplikacje korzystające z określonego uprawnienia?

Konkretne repozytorium z wyszukiwaniem na swojej stronie internetowej? Aplikacja umożliwiająca wyszukiwanie w Sklepie Play?


6
To może być naprawdę świetna sugestia dla Google ..
Android Quesito

8
Jeśli korzystasz z interfejsu internetowego Sklepu Play, nie musisz próbować instalacji, aby wyświetlić uprawnienia aplikacji - na stronie każdej aplikacji znajduje się karta z listą. Może zaoszczędzić kilka kliknięć.
Chahk,

3
AppBrain powinien mieć możliwość dodania tej funkcji. Oto żądanie funkcji . Głosuj na to. :)
Flow

@Chahk Nie mogę znaleźć zakładki. Czy mógłbyś zamieścić przykładowy link do tej karty?
Marcel

@Marcel Witryna Play Store została niedawno przeprojektowana przez Google. Niestety usunęli funkcjonalność, o której mówiłem. Teraz musisz kliknąć przycisk „Zainstaluj”, aby wyświetlić uprawnienia.
Chahk

Odpowiedzi:


5

AKTUALIZACJA: Obecnie nie działa zgodnie z listą sklepów Google Play.

Jeśli jesteś zainteresowany, opracowałem aplikację StripSearch do filtrowania list wyszukiwania według wykorzystanych uprawnień. Aplikacja działa, wykluczając wyniki, które nie spełniają wymagań uprawnień określonych przez dany filtr wyszukiwania (filtr może wykluczać, wymagać lub ignorować określone uprawnienia). Domyślnie dołączonych jest kilka filtrów, ale możesz także utworzyć własne.

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

Jeśli chcesz zobaczyć demo wyjaśniające jego użycie, możesz obejrzeć film tutaj: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch jest bezpłatny, nie zawiera reklam ani programów szpiegujących i korzysta tylko z następujących uprawnień:

  • android.permission.INTERNET (oczywiście potrzebny do przeszukania sklepu)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (potrzebne do uzyskania identyfikatora Androida w Google Play powiązanego z telefonem i kontem)

Spróbuj!


Umm? Czy urządzenie nie jest android_idzapisane w /data/data/android.provider.settings/databases/settings.dbbazie danych, nawet bez zainstalowanego GSF? Zastanawiam się tylko, czy dostęp do tego naprawdę wymaga pozwolenia GSF (a nie czegoś takiego READ_SECURE_SETTINGS). Słyszałem już, że GSF w jakiś sposób „zastępuje” ten oryginał android_idprzy inicjowaniu konta - ale czy jest on przechowywany w innym miejscu na urządzeniu? Jeśli tak to gdzie?
Izzy

BTW: Wygląda świetnie; Właśnie dodałem go do AppBrain i mojej listy dodatków rynkowych ;)
Izzy

Początkowo też tak myślałem, ale okazuje się, że ten identyfikator Androida, chociaż specyficzny dla każdego telefonu, nie jest prawidłowym identyfikatorem do dostarczania do Google Play. Aby uzyskać dostęp do Google Play za pośrednictwem interfejsu API rynku (tak działa StripSearch), wymagany jest identyfikator Android GTalk. Ten blog jest bardziej szczegółowy: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id Dziękujemy za przyjrzenie się!
HassleFixes

Wielkie dzięki! To przyszło we właściwym czasie. Miałem zamiar przeflashować jeszcze jedno urządzenie, by używało „bez Google” (zamiast tego NOGAPPS z BlankStore). Teraz mam do tego prawidłowy android_id :)
Izzy

Wskazówka: jeśli ktoś jest zainteresowany bardziej szczegółowymi informacjami na temat tej aplikacji, napisałem podsumowanie w StripSearch, aby pomóc Ci znaleźć aplikacje za pozwoleniem . HassleFixes nie sprawia kłopotów, naprawia i jest dość szybki (tj. Dobre wsparcie :)
Izzy

23

Jak to obecnie MOŻE być zrobione

Podczas porannej rutyny czytania moich kanałów RSS natknąłem się na recenzję w N-Droid , omawiając aplikację o nazwie APEFS . Ta aplikacja została opracowana przez niemieckich studentów (stąd jej opis na Playstore jest w języku niemieckim, nawet jeśli ustawisz język na angielski). Ale dla naszych nie-niemieckich czytelników krótki opis tutaj:

Zasadniczo APEFS jest alternatywnym front-endem do Google Playstore. Przeglądasz playstore, tak jak w przypadku oryginalnej aplikacji, i przeszukujesz go tak samo. Ale na liście wyników 1 pojawia się zaawansowany filtr 2 :

Wyniki wyszukiwania APEFS Filtr APEFS

Jak pokazuje drugi zrzut ekranu, można wybrać, jakie uprawnienia poszukiwanego aplikację wolno mieć (pole zaznaczone), a co uprawnienie to powinno nie mieć (pole niezaznaczone).

Jednak: Chociaż można tego użyć do odfiltrowania aplikacji z niechcianymi uprawnieniami (np. Pokaż tylko aplikacje bez uprawnień internetowych), nie możesz ograniczyć wyników do przeciwnych (np. Pokaż tylko aplikacje z uprawnieniami internetowymi). Aplikacja wyraźnie celuje w użytkowników, którzy są zaniepokojeni ich prywatnością / bezpieczeństwem - i zgodnie z recenzją (właśnie znalazłem ją kilka minut temu, więc nie mogłem jeszcze przetestować) robi bardzo dobrą robotę.


EDYTOWAĆ:

Ponieważ jest to już rok temu, a obietnica na stronie głównej APEFS ( przetłumaczona na angielski, ponieważ ich własna wersja angielska nie zawiera tego stwierdzenia w pierwszym akapicie) wydaje się, że nie zostanie spełniona w najbliższym czasie (aplikacja jest nadal offline): Tymczasem proszę rozważyć rozwiązanie sieciowe z mojej innej odpowiedzi jako alternatywę.


Link do sklepu Google Play jest zepsuty, czy to jest zaktualizowany? Ps: jeśli tak , to jest już wsparcie po angielsku ...
Zuul

@Zuul Nie, to zły pomysł. Link do Play jest chwilowo zerwany, dzięki „relaunchowi Play-8” w sklepie z płytkami (patrz strona główna APEFS ( przetłumaczono na angielski)). Najwyraźniej aplikacja wykorzystywała przeglądanie stron;) Niestety, ich angielska strona nie zawiera tego powiadomienia ...
Izzy

2
@sashoalm zobacz trzy komentarze na górze twojego. Stało się niekompatybilne z ponownym uruchomieniem PlayStore. Ich strona internetowa twierdzi, że pracują nad aktualizacją - ale wydaje się, że to trwa dość długo (mówi tak od czasu ponownego uruchomienia). Nie rezygnuj jednak z nadziei!
Izzy

1
4 lata później nadal pracują nad tą aktualizacją. Jednak @Izzy zainspirowało mnie, abym nie tracił nadziei ;-)
Spencer D

2
@Izyzy, fyi, StripSearch jest również zepsuty, jak się wydaje. Nie jestem pewien, czy nadal działa dla niektórych osób, ale dla mnie to nie zadziałało i uważam, że czytam komentarze gdzie indziej, że inni użytkownicy zgłaszali to jako zepsute. (Mogły być rzeczywiście w recenzjach aplikacji w Sklepie Play.) Niezależnie od tego, ostatecznie skorzystałem z twojego rozwiązania, które działało idealnie. Nie chciałem jednak wyrażać opinii na ten temat, mówiąc tylko: „+1 dzięki;” jednak twoja strona jest jedynym działającym wyszukiwaniem / filtrem, jaki znalazłem. Masz moją opinię i moją wdzięczność. Wnieśliście wspaniały wkład w społeczność.
Spencer D

14

Minęły ponad dwa lata od momentu zadania tego pytania. Mimo to nie ma dostępnego „oficjalnego rozwiązania”. Pomimo obietnic APEFS (wprowadzony w mojej poprzedniej odpowiedzi ponad rok temu) nie powrócił. Postanowiłem więc stworzyć własne rozwiązanie:

Od prawie 4 lat utrzymuję listę „aplikacji na Androida według celu”, tj. Pogrupowanych według przypadków użycia. W marcu zacząłem przenosić je na własny serwer . Wszystkie metadane są przechowywane w bazie danych na tym serwerze, a więc w końcu udało mi się skonfigurować wyszukiwanie według uprawnień .

SearchMask
Wyszukaj maskę, aby znaleźć „aplikacje według kategorii i uprawnień” (kliknij obraz, aby uzyskać większy wariant)

Możesz tutaj wybrać od 1 do 5 kategorii (pamiętaj, że wybranie „kategorii nadrzędnej” automatycznie obejmuje wszystkie jej „dzieci”) oraz jedno lub więcej uprawnień. Domyślne ustawienia wstępne służą do znajdowania „aplikacji przyjaznych dla uprawnień” - więc jeśli szukasz takiego kandydata, możesz po prostu przesłać formularz po dokonaniu opisanych wyborów. Powinno to ułatwić np. Znalezienie aplikacji PIM, która nie wymaga zgody Internetu (w celu przechowywania danych osobowych na urządzeniu).

Możliwe jest jednak coś przeciwnego: jeśli np. Chcesz zbadać, co może dla Ciebie zrobić dobra NFC, wybierz maksymalnie 5 kategorii, którymi jesteś zainteresowany, a następnie uprawnienia NFC, zmień pole wyboru „Uprawnienia” na „uwzględnij” i opcjonalnie sortowanie według „według oceny, malejąco” (aby najpierw uzyskać najlepiej oceniane aplikacje).

W razie wątpliwości w prawym górnym rogu znajduje się mała ikona znaku zapytania, zapewniająca „pomoc online”.

Ale to nie wszystko. Jak wyjaśniłem w drugim akapicie, aplikacje na moich listach są pogrupowane według „celu”, tzn. Do czego są potrzebne. Dlatego aplikacje o porównywalnej funkcjonalności powinny się pojawiać obok siebie:

Lista aplikacji
Kategoria ze szczegółami aplikacji (źródło: strona pomocy (stąd „czerwone liczby”); kliknij obraz, aby wyświetlić większy wariant)

Możesz więc porównać je nie tylko według oceny, ale także wybrać tę, która żąda mniejszej liczby uprawnień (liczba w polu; na powyższym obrazku oznaczona „czerwoną 6”) lub, jeśli to możliwe, bez żadnych obaw (brak czerwonej ramki wokół pola ). Kliknięcie nazwy aplikacji ujawnia więcej szczegółów, jak pokazano. I jest wiele „pisanek” (tj. Zdarzeń MouseOver) - ponownie, przejdź do strony pomocy.


Pełne ujawnienie: jak początkowo wskazano, opisana strona została zaprojektowana przeze mnie, zbudowana przeze mnie, wypełniona przeze mnie treścią i dalej przeze mnie utrzymywana. Jest dostępny w dwóch wersjach językowych (angielski / niemiecki), bez żadnych opłat (w tym: bez plików cookie, plików cookie typu Flash itp.). To pytanie tutaj na Android.SE było jednym z powodów, dla których je skonfigurowałem.

Ponadto należy pamiętać, że nie obejmuje to całej „kolekcji playstore”. Na dzień dzisiejszy w bazie danych jest zarejestrowanych nieco ponad 10 000 aplikacji (co jest prawdopodobnie nieco mniej niż 1% tego, co jest w Play - chyba że nie liczysz bzdur, podróbek i bezużytecznych aplikacji w Play, to moje rekordy może obejmować około 10% ☺). Mimo to mam nadzieję (i myślę), że to już użyteczne źródło, z którego będziesz zadowolony.


13

Dlaczego obecnie   nie można tego zrobić

Gdy programista przesyła swoją aplikację do Google Play, plik manifestu aplikacji jest odczytywany do bazy danych, z której odbywa się wyszukiwanie aplikacji.

Aby umożliwić wyszukiwanie aplikacji na podstawie ich uprawnień, należałoby uzyskać dostęp do bazy danych i zebrać dane dotyczące manifestu aplikacji <uses-permission>, wcześniej odczytane z pliku AndroidManifest.xml , w którym programista zadeklarował swoje uprawnienia do aplikacji.

Chociaż wydaje się to dość proste, interfejs API Google nie zapewnia środków w tym celu:

Ściśle mówiąc, Google Play nie filtruje na podstawie elementów <use-permission>.

Z filtrów w Google Play Filtrowanie w oparciu o elementy manifestu - <użytkowanie- zezwolenie> .


Opracowanie

Zasadniczo Google Play Store korzysta z pliku manifestu aplikacji do automatycznego stosowania filtrów na podstawie urządzenia użytkownika, specyfikacji sprzętu, kraju, operatora itp.

Wszystko to odbywa się w ciszy, bez interwencji jakichkolwiek parametrów wyszukiwania.

Użytkownik z Google Play lub wyszukiwarek innych firm może ograniczyć wyniki po ich automatycznym filtrowaniu przez Google na podstawie osobistych preferencji, takich jak wykluczanie płatnych aplikacji; ograniczyć wyniki do aplikacji kompatybilnych między innymi z urządzeniami użytkowników. Ale nie ma sposobu, aby zakłócać filtry stosowane przez Google. Nawet jeśli w jakiś sposób dojdziemy do tej części, interfejs API zasadniczo nie jest przygotowany / zaprojektowany do filtrowania na podstawie uprawnień, jak wspomniano powyżej.


1
Muszę powiedzieć, że twój przewodnik był pomocny (patrz moja odpowiedź tutaj ): działa, wyodrębnia dane aplikacji (w tym uprawnienia) za pośrednictwem interfejsu API Playstore, karmi go bazą danych i uruchamia wyszukiwanie w oparciu o to drugie :)
Izzy

6

Prosta odpowiedź: nie. Chociaż możesz zapytać Google. Jak powiedział użytkownik Chahk, interfejs internetowy pozwala zaoszczędzić kilka kliknięć, ale nadal nie ma możliwości filtrowania wyników zgodnie z żądaniem.


5

Okrągłym sposobem jest stworzenie aplikacji Java korzystającej z interfejsu API Android Market . Obecnie może wyszukiwać aplikacje na podstawie „słów kluczowych lub nazwy pakietu”. Kwerendę wyszukiwania można zbudować w celu wyszukania poszukiwanego niezbędnego uprawnienia. Niewiele wymaga pracy domowej, ale wydaje się przydatna.

Po pobraniu androidmarketapi-0.6.jar i protobuf-java-2.2.0.jar (oczywiście powinieneś już mieć JRE), możesz wykonać następujące czynności:

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

Musisz zamienić XY na 0.6, ponieważ jest to obecna wersja oraz zastąpić poświadczenia i zapytania. W celu utworzenia zapytania możesz odwiedzić stronę.


Jakie zapytanie dałoby aplikacje za zgodą? Nie widzę nic z tym związanego.
RR

Nie jestem pewien, czy wyszukiwanie odbywa się tylko według nazwy pakietu według „String query =” pname: <package> ”;” i według nazwy programisty „String query =" pub: <nazwa> ”;„ podano jako przykład. Podając odpowiednie słowo kluczowe w wyszukiwaniu (które należy wykopać), mam nadzieję, że możesz uzyskać to, czego szukasz.
Narayanan,

2

Jeśli masz umiejętności programistyczne, możesz napisać własny parser i użyć filtrów nad nim. Nie mogłem znaleźć niczego na temat API, ale możesz powoli analizować interfejs WWW, aby uzyskać to, czego chcesz.

To nie jest najprostsze rozwiązanie, ale może sprawić, że będziesz pewny rezultatów, które możesz uzyskać.

Szczerze, chciałbym zrobić prosty przykład w Pythonie, ale nie mam teraz czasu. Może w najbliższej przyszłości.


1
Właśnie tego staram się unikać. Pobranie pół miliona stron internetowych nie należy do moich ulubionych, niezapomnianych rozrywek. 12 GB przepustowości i 50 GB surowych danych i kto wie, ile godzin pracy. Mogę napisać kod, którego wolałbym nie robić.
RR

1
Kup serwer, napisz program, który buforuje listę uprawnień i uruchom ją tam, i odśwież pamięć podręczną dla aplikacji, gdy otrzymają nowe wersje - ale tylko wtedy, gdy aplikacja pasuje do zapytania słowa kluczowego użytkownika (możesz nawet paginować wyniki i ograniczyć się do strony, które przegląda użytkownik.) Następnie dodaj reklamy, aby zapłacić za serwer, a może nawet dodać kroki „???” i „ZYSK!”.
Adrian Panasiuk

2
Nie używamy już serwerów?
Adrian Panasiuk,

... lub po prostu spróbuj porozmawiać z zespołem Google, aby dodać tę funkcję.
Крайст

1
@Kpa dziękuję za linkowanie strony, która nie ma z tym nic wspólnego.
RR

1

Wyszukiwanie przy użyciu nazwy uprawnienia nadal oznacza, że ​​najlepiej sprawdza się w opisie aplikacji

Na przykład: „LOKALIZACJA ZBYT DUŻA (OPARTA NA SIECI)” -> wyszukanie tego spowoduje wyświetlenie listy aplikacji, które zawierają te informacje w swoich opisach, ale nie można przeszukać karty Uprawnienia.

Gdyby Google pozwolił zeskrobać informacje o wszystkich aplikacjach, tak jak ja, to byłbym w stanie zapewnić światu wyszukiwarkę do wyszukiwania aplikacji za pomocą wymaganych uprawnień :)


1

Żadne z wymienionych tu rozwiązań nie działa od lutego 2018 r.

Stworzyłem więc własne proste rozwiązanie, które opiszę poniżej.

TL; DR: użyj interfejsu API AppBrain.

Długa odpowiedź

  1. Utwórz appSearchna przykład folder o nazwie .

  2. Załóż konto w AppBrain. Następnie przejdź do pulpitu programisty . Zostaniesz poproszony o włączenie opcji Deweloper na swoim koncie.

  3. Przejdź do strony dostępu do interfejsu API.

  4. Skopiuj wygląd pola uwierzytelnienia di=xxxx&t=zzzzzi zapisz wartości w pliku o nazwie appBrain.jsonw następującym formacie:

    {„DI”: „xxxx”, „TOKEN”: „yyyy”}

  5. Teraz pobierz filter.js i zapisz go w tym samym folderze („appSearch”).

  6. Zainstaluj Javę 8+

  7. Uruchom następującą komendę:, jjs -scripting filter.js -- keywordgdzie słowo kluczowe może być dowolnym wyszukiwanym terminem.

  8. Powinieneś zobaczyć listę 50 aplikacji, które pasują do wyszukiwanego hasła i są posortowane według liczby uprawnień, wraz z linkiem do strony ich sklepu Play.

    Edycja: Kod filter.jsjest stosunkowo prosty i można go dostosować do własnych kryteriów, jeśli znasz się na programowaniu. W przyszłości postaram się uczynić go bardziej konfigurowalnym.

  9. Bezpłatna warstwa umożliwia ograniczoną liczbę zapytań dziennie. Będziesz jednak mógł wykonywać około 30 wyszukiwań dziennie, co wystarcza na własny użytek.


„Żadne z wymienionych tu rozwiązań nie działa od lutego 2017 r.” Nie mogę w to uwierzyć. Moje wyszukiwanie aplikacji nadal działa, a nawet w lutym 2018 r .;) // Dziękujemy za twoje podejście - ale nie w pełni pasuje do pytania. Celem było wyeliminowanie aplikacji z listy wyników, jeśli żądają one określonych uprawnień - a nie tylko listy posortowanej według liczby uprawnień. A AFAIK „poziom bezpłatny” jest ograniczony do 10 żądań dziennie. Fajny pomysł :)
Izzy

1
Ups, edytowany do lutego 2018 r. Podoba mi się twoje rozwiązanie, ale jest to wyselekcjonowana lista, której nie można skalować. Aplikacje, które opracowałem, na przykład nie znajdują się na twojej liście, chociaż wymagają bardzo niewielu uprawnień i są popularne. To filter.js, z czym się łączyłem, to przykładowy kod, który można dostosować (przez kogoś, kto zna programowanie). Być może, jeśli otrzymam więcej czasu, uczynię go bardziej konfigurowalnym dla nieprogramujących.
HRJ

Jasne, niekompletność jest wadą. Ale zawsze możesz polecać aplikacje do umieszczenia na liście, Harshad - tutaj dla list aplikacji i tutaj dla repozytorium :) Ponieważ starasz się poprosić o jak najmniejszą liczbę perms, jak to możliwe, szczególnie chciałbym mieć te aplikacje katalogowany.
Izzy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.