Google Play Store izinlerine göre nasıl aranır?


66

Örneğin internet erişimi gerektiren uygulamaları görmek istemediğimi nasıl belirleyebilirim? Veya yalnızca belirli bir izni kullanan uygulamaları göstermek için mi?

Web sayfasında arama yapan belirli bir depo mu? Google Play Store'da arama yapmanızı sağlayan bir uygulama?


6
Bu gerçekten Google için harika bir öneri olabilir ..
Android Quesito

8
Play Store'un web arayüzünü kullanıyorsanız, uygulamanın izinlerini görüntülemek için yükleme girişiminde bulunmanız gerekmez - her uygulamanın sayfasında onları listeleyen bir sekme vardır. Birkaç tıklamayla sizi kurtarabilir.
Chahk


@Chahk Sekmeyi bulamıyorum. Bu sekme için örnek bir bağlantı gönderir misiniz?
Marcel

@Marcel Play Store web sitesi Google tarafından yeniden tasarlandı. Ne yazık ki bahsettiğim işlevselliği kaldırdılar. Şimdi izinleri görüntülemek için "Yükle" düğmesini tıklamanız gerekiyor.
Chahk

Yanıtlar:


5

GÜNCELLEME: Şu anda Google Play Store listesine göre işlevsel değil.

İlgileniyorsanız, arama izinlerini kullanılan izinlere göre filtrelemek için bir uygulama olan StripSearch'ü geliştirdim. Uygulama, belirli bir arama filtresinde belirtilen izin gereksinimlerini karşılamayan sonuçları hariç tutarak çalışır (bir filtre belirli izinleri hariç tutabilir, talep edebilir veya görmezden gelebilir). Birkaç filtre varsayılan olarak dahil edilmiştir, ancak kendiniz de oluşturabilirsiniz.

StripSearch’ü buradan alın: https://play.google.com/store/apps/details?id=com.hasslefixes.stripsearch

Kullanımını açıklayan bir demo görmek isterseniz, buradan bir video izleyebilirsiniz: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch ücretsizdir, reklam veya casus yazılım içermez ve yalnızca aşağıdaki izinleri kullanır:

  • android.permission.INTERNET (açıkça mağaza aramak için gerekli)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (telefonunuza ve hesabınıza bağlı Google Play Android Kimliğini almak için gerekli)

Bir deneyin!


Ümmü? GSF kurulu olmasa bile cihazdaki veritabanında android_idkayıtlı değil /data/data/android.provider.settings/databases/settings.dbmi? Buna erişmenin gerçekten bir GSF izni gerektirip gerektirmediğini merak ediyorum (ve bunun gibi bir şey değil READ_SECURE_SETTINGS). GSF’nin bir şekilde android_idhesap başlangıçtaki orijinali "üzerine yazdığını" duydum - ancak cihazda farklı bir yerde mi saklanıyor? Eğer öyleyse, nerede?
Izzy

Btw: güzel görünüyor; Ben sadece AppBrain ve piyasadaki eklentileri listeme ekledim ;)
Izzy

Aslında ben de öyle düşündüm, ancak her telefona özel olmasına rağmen Android Kimliğinin Google Play’e tedarik için geçerli bir kimlik olmadığı anlaşılıyor. Google Play’e pazar API’sinden (bu şekilde StripSearch’ün nasıl çalıştığıyla) erişmek için, GTalk Android ID gereklidir. Bu blog daha da derinleşiyor: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id Bir göz attığın için teşekkürler!
HassleFixes

Çok teşekkürler! Bu tam zamanında geldi. "Google olmadan" (bunun yerine BlankStore'lu NOGAPPS) kullanmak için bir cihaz daha geri çağırmak üzereydi. Şimdi bunun için geçerli bir android_id var :)
Izzy

İpucu: Herhangi biri bu uygulama hakkında daha fazla ayrıntıyla ilgileniyorsa, StripSearch'te bir özeti, uygulamaları izinle bulmanıza yardımcı olur . HassleFixes :) o düzeltir ve oldukça hızlı (yani iyi bir destek, hiçbir güçlük yapar
Izzy

23

Şu anda nasıl CAN yapılabilir

Sabahları rutin RSS yayınlarımı okuduğumda, N- Droid'de bir inceleme yazıp APEFS adlı bir uygulamayı tartıştım . Bu uygulama, Alman öğrenciler tarafından geliştirilmiştir (bu nedenle, dili İngilizce'ye ayarlasanız bile, Playstore'daki açıklaması Almancadır). Ancak Alman olmayan okuyucularımız için, burada kısa bir açıklama:

Temelde, APEFS Google Playstore için alternatif bir ön uç. Orijinal uygulamada yaptığınız gibi Google Play Store'a göz atarsınız ve aynı şekilde ararsınız. Ancak sonuç listesinde 1 , gelişmiş bir filtre 2 devreye girdiğinde:

APEFS arama sonuçları APEFS filtresi

İkinci ekran görüntüsünün gösterdiği gibi, istediğiniz uygulamanın hangi izinlere sahip olmasına izin verildiğini (onay kutusu işaretli) ve hangi izne sahip olmaması gerektiğini (onay kutusu işaretli değil ) seçebilirsiniz .

Ancak: İstenmeyen izinlere sahip uygulamaları filtrelemek için kullanılabilir (örneğin, yalnızca İnternet iznini izleyen uygulamaları göster), sonuçlarınızı tersiyle sınırlayamazsınız (örn. Yalnızca İnternet iznine sahip uygulamaları göster ). Uygulamanın açıkça gizlilik / güvenlik endişesi olan kullanıcıları hedefliyor - ve incelemeye göre (Sadece birkaç dakika önce buldum, bu yüzden henüz test edemedim) çok iyi bir iş çıkardı.


DÜZENLE:

Zaten bir yıl önce olduğu ve APEFS Anasayfasına dair söz ( kendi İngilizce versiyonunun ilk paragrafta bu ifadeye sahip olmaması nedeniyle GT'nin İngilizce'ye çevrilmesi gibi) kısa sürede gerçekleşmemiş gibi görünüyor (uygulama hala çevrimdışı): Lütfen diğer cevabımdaki web tabanlı çözümü bu arada alternatif olarak düşünün .


Google Play mağazasına olan bağlantı bozuldu, güncellenen bu mu? Ps: evet ise , zaten İngilizce desteği var ...
Zuul

@Zul Hayır, yanlış olan bu. Play linki, şu anda döşemecinin "Play-8 relaunch" özelliği sayesinde yalnızca geçici olarak koptu (bkz. APEFS Anasayfası ( GTransed to English)). Açıkçası, uygulama bazı site kazıma kullandı;) Ne yazık ki, İngilizce sayfaları bu bildirimi içermiyor ...
Izzy

2
@ sashoalm senin üzerine üç yorum görüyoruz. PlayStore'un yeniden başlatılmasıyla uyumlu hale geldi. Web siteleri bir güncelleme üzerinde çalıştıklarını söylüyor - ancak bu çok uzun sürüyor gibi görünüyor (zaten yeniden başlatıldığından bu yana çoktan yazıyor). Yine de umuttan vazgeçme!
Izzy

1
4 yıl sonra ve hala bu güncelleme üzerinde çalışıyorlar. Ancak, @Izzy bana umuttan vazgeçmemem için ilham verdi ;-)
Spencer D

2
@Izzy, fyi, StripSearch de göründüğü gibi bozuldu. Bazı insanlar için hala bir şekilde çalışıyor olup olmadığından emin değilim, ama benim için işe yaramadı ve diğer kullanıcıların bunu kırık olarak bildirdiği konusunda başka bir yerde yorumları okuduğuma inanıyorum. (Bunlar aslında uygulamanın Play Store incelemelerinde olmuş olabilir.) Ne olursa olsun, mükemmel çalışan çözümünüzü kullandım. Bununla ilgili sadece geri bildirim bırakmak istemedim, sadece "+1 teşekkürler;" derken Ancak, web sayfanız bulduğum tek çalışan arama / filtre. Yani, benim kazancımı ve minnettarlığımı aldın. Topluma mükemmel bir katkı yaptınız.
Spencer D

14

Bu soru sorulmasından bu yana iki yıldan fazla bir süre geçti. Yine de, “resmi bir çözüm” mevcut değil. Verdiği sözlere rağmen, APEFS ( bir yıl önce önceki cevabımda sunulan ) geri dönmedi. Böylece kendi çözümümü oluşturmaya karar verdim:

Neredeyse 4 senedir, “Amaca göre Android uygulamaları”, yani kullanım durumlarına göre gruplandırılmış listelerim var. Mart ayında onları kendi sunucuma taşımaya başladım . Tüm MetaData, o sunucudaki bir veritabanında saklanır ve bu yüzden nihayet izinlere göre arama yapabildim .

SearchMask
"Kategoriye ve izne göre uygulamalar" bulmak için Maskeyi arayın (daha büyük değişken için resme tıklayın)

Burada 1 ila 5 kategori arasından seçim yapabilirsiniz (bir „ebeveyn kategorisinin” otomatik olarak tüm çocuklarını içerdiğini unutmayın), artı bir veya daha fazla izin. Varsayılan hazır ayarlar “izin dostu uygulamalar” bulmak içindir - eğer böyle bir adayın peşindeyseniz, açıklamalı seçimler yaptıktan sonra formu gönderebilirsiniz. Bu, örneğin İnternet iznini istemeyen bir PIM uygulaması bulmayı kolaylaştırmalıdır (kişisel verilerinizi cihazınızda saklamak için).

Bununla birlikte, bunun tam tersi de mümkündür: Örneğin, NFC'nin sizin için neler yapabileceğini araştırmak istiyorsanız, ilgilendiğiniz 5 kategoriyi seçin, ardından NFC izni,, İzinler ’kutusunu„ dahil et ’olarak değiştirin. ve isteğe bağlı olarak rating derecelendirmeye göre, azalan ”olarak sıralama (ilk önce en çok puan alan uygulamaları elde etmek için).

Şüphe duyduğunuzda, sağ üst köşede küçük bir soru işareti simgesi bulunur ve size “çevrimiçi yardım” sağlar.

Ama hepsi bu kadar değil. İkinci paragrafta açıkladığım gibi, listelerimdeki uygulamalar kendi amaçlarına göre gruplandırılıyor, yani onlara neye ihtiyacınız var. Öyleyse, karşılaştırılabilir işlevselliğe sahip uygulamalar yan yana görünmelidir:

Uygulama Listesi
Uygulama ayrıntılarına sahip kategori (kaynak: yardım sayfası (bu nedenle „kırmızı sayılar”); daha büyük değişken için resme tıklayın)

Böylece, yalnızca derecelendirmeyle değil, daha az izin isteyen birini de (kutudaki sayı; yukarıdaki resimde „kırmızı 6” ile gösterilen resim) seçebilirsiniz veya mümkünse (kutu çevresinde kırmızı kenarlık olmadan) ). Uygulamanın adına tıklanması, gösterildiği gibi daha fazla ayrıntı gösterir. Ve birçok “paskalya yumurtası” (örn. MouseOver etkinlikleri) var - yine, yardım sayfasına dikkat edin.


Tam açıklama: Başlangıçta belirtildiği gibi, açıklanan site benim tarafımdan tasarlandı, benim tarafımdan yapıldı, içeriğini doldurdu ve daha da benim tarafımdan yapıldı. Bu iki dilli (İngilizce / Almanca), ücretsiz olarak kullanılabilir (bu içerir: çerez yok, Flash çerezler, ne olursa olsun, vb.). Burada Android.SE'deki bu soru belirttiğim nedenlerden biriydi.

Dahası, bunun “oyun deposu koleksiyonunun tamamını” kapsamadığının farkında olun. Bugünden itibaren, veritabanına kaydedilen 10.000'den fazla uygulama var (bu muhtemelen Play'dekilerin% 1'inden az bir kısmıdır - Play'deki önemsiz şeyleri, sahte ve yararsız uygulamaları saymazsanız, o zaman kayıtlarım) yaklaşık% 10 ☺ kapsayabilir)). Yine de umuyorum ki (ve sanırım) bu zaten hoşunuza gidecek faydalı bir kaynak.


13

Neden şu anda   bu yapılamıyor?

Bir geliştirici, uygulamasının Google Play'e yüklenmesini gerçekleştirdiğinde, uygulama bildirim dosyası, uygulama aramasının yapıldığı yerden bir veritabanına okunur.

İzinlerine dayanarak uygulama aramaya izin vermek için, veritabanına erişmek ve <uses-permission>daha önce geliştiricinin uygulama izinlerini bildirdiği AndroidManifest.xml dosyasından okunan uygulama bildirim düğümü ile ilgili verileri toplaması gerekir .

Bu oldukça basit gibi görünse de, Google API bu amaçla araç sağlamamaktadır:

Kesinlikle, Google Play <uses-permission> öğelerine göre filtreleme yapmıyor.

Manifest Elements - <uses-permission> temelli Google Play Filtreleme Filtrelerinden .


Açılımlarının

Temel olarak, Google Play Store, kullanıcının cihazına, donanım özelliklerine, ülkesine, operatörüne, vb. Göre filtreleri otomatik olarak uygulamak için uygulama bildirim dosyasını kullanır.

Bütün bunlar herhangi bir arama parametresinin müdahalesi olmadan sessizce yapılır.

Google Play'den veya üçüncü taraf arama motorlarından bir kullanıcı, ücretli uygulamaları hariç tutma gibi kişisel tercihlere dayanarak Google tarafından otomatik olarak filtrelendikten sonra sonuçları sınırlayabilir; sonuçları, diğerleriyle birlikte kullanıcı cihazlarıyla uyumlu uygulamalarla sınırlandırın. Ancak Google tarafından uygulanan filtrelere müdahale etmenin bir yolu yoktur. Bu kısma nasıl gidersek de, API esas olarak yukarıda belirtilen izinlere dayanarak filtrelemek için hazırlanmamıştır / tasarlanmamıştır.


1
Söylemeliyim ki, rehberiniz yardımcı oldu ( buradaki cevabımı görün ): Google Playstore API'sı aracılığıyla uygulama verilerini (izinler dahil) ayıklamak, bir veritabanına beslemek ve aramayı ikincisine karşı çalıştırmak :)
Izzy

6

Basit cevap: yapmazsın. Google’ı sormakta özgürsünüz. Kullanıcı Chahk'ın dediği gibi, web arayüzü sizi birkaç tıklamayla kurtarıyor, ancak istediğiniz kadar sonuçları filtrelemenin bir yolu yok.


5

Bu konuda bir tur android-market-api kullanan bir Java uygulaması oluşturmaktır . Halen "anahtar kelimeler veya paket adı" dayalı uygulamayı arayabilir . Arama sorgusu, aranmakta olan gerekli izni aramak için oluşturulabilir. Küçük ev ödevi gerekli, ancak yararlı görünüyor.

Androidmarketapi-0.6.jar ve protobuf-java-2.2.0.jar'ı indirdikten sonra (tabii ki önceden JRE kurulumuna sahip olmalısınız) aşağıdakileri uygulayabilirsiniz:

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

XY'yi 0.6 sürümüyle bu sürümle değiştirmelisiniz, kimlik bilgilerini ve sorguyu değiştirin. Sorgu oluşturmak için bu sayfayı ziyaret edebilirsiniz .


Ne tür bir sorgu izinle uygulamaları verir? Bununla ilgili hiçbir şey görmüyorum.
RR

Bunun sadece paket adına göre "String query =" pname: <package> ";" tarafından arandığından emin değilim. ve geliştirici adına göre "String query =" pub: <name> ";" örnek olarak verilmiştir. Aramada uygun anahtar kelimeyi sağlayarak (çıkarılması gereken), aradığınızı bulabileceğinizi umuyorum.
Narayanan

2

Programlama beceriniz varsa, kendi ayrıştırıcınızı yazabilir ve üstündeki filtreleri kullanabilirsiniz. API ile ilgili hiçbir şey bulamadım, ancak istediğinizi elde etmek için web arayüzünü yavaşça ayrıştırabilirsiniz.

Bu en basit çözüm değil, elde edeceğiniz sonuçlarla kendinize çok güvenmenizi sağlayabilir.

Dürüst olmak gerekirse, Python'da basit bir örnek yapabilmeyi isterdim ama şimdi vaktim yok. Belki en yakın gelecekte.


1
Ben kaçınmaya çalışıyorum budur. Yarım milyon Web sayfasını indirmek benim suçum ve zarafımın tepesinde değil. 12GB bant genişliği 50GB ham veri ve kaç saat çalışacağını kim bilir. Tercih etmemeyi tercih ettiğim kodu yazabilirim.
RR

1
Bir sunucu satın alın, izinler listesini önbelleğe alan ve orada çalışan bir program yazın ve yeni sürümler aldıklarında uygulamalar için önbellek yenileyin; ancak yalnızca uygulama bazı kullanıcıların anahtar kelime sorgusu ile eşleştiğinde (ve sonuçları sayfalandırıp kendinizle sınırlayabilirsiniz kullanıcının görüntülediği sayfalar.) Ardından, reklamları ekleyin, böylece sunucu için ödeme yapabilir ve hatta "???" adımlarını ekleyebilirsiniz. ve "KAR!".
Adrian Panasiuk

2
Artık sunucu kullanmıyoruz?
Adrian Panasiuk

... ya da sadece bu özelliği eklemek için google ekibi ile konuşmaya çalışın.
Крайст

1
@Kpa, bununla bir ilgisi olmayan bir sayfayı bağladığınız için teşekkür ederiz.
RR,

1

İzin adıyla arama yapmak, uygulamanın açıklaması aracılığıyla en iyi şekilde arama yapabileceği anlamına gelir

Örneğin: "COARSE (AĞ TABANLI) KONUM" -> bunun aranması, bu bilgilerin açıklamalarında listelenen uygulamaları listeler, ancak İzinler sekmesinde arama yapamaz.

Eğer google benim gibi tüm uygulamaların bilgilerini kazımaya izin verirse, o zaman dünyaya istedikleri izinleri kullanarak uygulamaları aramak için bir arama motoru sağlayabilirim :)


1

Burada belirtilen çözümlerin hiçbiri Şubat 2018 itibariyle çalışmıyor.

Bu yüzden aşağıda belgeleyeceğim kendi basit çözümümü yarattım.

TL; DR: AppBrain'in API'sini kullan.

Uzun cevap

  1. appSearchÖrneğin adlı bir klasör oluşturun .

  2. AppBrain'de bir hesap için kaydolun. O zaman dev gösterge paneline git . Hesabınız için Geliştirici seçeneğini etkinleştirmenizi isteyecektir.

  3. API erişim sayfasına gidin.

  4. di=xxxx&t=zzzzzDeğerlere benzeyen kimlik doğrulama alanını kopyalayın ve değerleri appBrain.jsonaşağıdaki biçimde adlandırılan bir dosyaya kaydedin:

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

  5. Şimdi filter.js dosyasını indirin ve aynı ('appSearch') klasörüne kaydedin.

  6. Java 8+ yükleyin

  7. Aşağıdaki komutu çalıştırın:, jjs -scripting filter.js -- keywordburada anahtar kelimenin herhangi bir arama terimi olabilir.

  8. Arama teriminizle eşleşen ve oyun mağazası sayfasına bir bağlantı içeren izin sayısına göre sıralanmış 50 uygulamadan oluşan bir liste görmelisiniz.

    Düzenleme: Kodları filter.jsnispeten basittir ve biraz programlama biliyorsanız, kendi ölçütlerinize uyacak şekilde uyarlanabilir. Gelecekte daha yapılandırılabilir hale getirmeye çalışacağım.

  9. Ücretsiz seviye, günlük sınırlı sayıda sorguyu mümkün kılar. Yine de, günde yaklaşık 30 arama yapabilir ve bu kişisel kullanım için yeterlidir.


"Burada belirtilen çözümlerin hiçbiri Şubat 2017 itibariyle çalışmıyor." Buna inanamıyorum. Benim uygulama arama hala çalışıyor ve hatta Şubat 2018;) // Yaklaşımınız için teşekkürler - ama bu soruya tam olarak uymuyor. Amaç, yalnızca belirli sayıda izin sayısına göre sıralanmış bir liste değil, belirli izinleri isterse uygulamaları sonuç listesinden çıkarmaktı. Ve AFAIK "serbest seviye" günde 10 taleple sınırlıdır. Güzel bir fikir, olsa :)
Izzy

1
ayy, feb 2018’de düzenlenmiştir. Çözümünüzü beğendim, ancak ölçeklenemeyen küratörlüğünde bir liste. Örneğin geliştirdiğim uygulamalar, çok az izin gerektirmesine ve popüler olmasına rağmen, listenizde değil. filter.jsBen bağlantılı olduğunu (programlama bilen birisi tarafından) uyarlanabilir örnek kodudur. Belki daha fazla zaman alırsam, programcı olmayanlar için daha yapılandırılabilir hale getireceğim.
HRJ

Tabii ki eksiklik dezavantajdır. - Ama daima, listelenen Harshad olmaya uygulamaları tavsiye edilir ediyoruz burada uygulama listeleri için ve burada repo :) Eğer mümkün olduğunca az perma istemek için özen gibi, ben bu uygulamaları olması özellikle ilgi duyarım listelenmiş.
Izzy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.