2017-02-07 27 views
6

Özel analizler (google analytics değil) kullanarak kampanya izlemeyi ayarlıyorum ve bunun için bir alıcı ayarlıyorum. Alıcım çalışıyor görünüyor, ama ben yüklediğinizde ben bir android tiftik uyarı olsun: herhangi bir eski android app istemiyorum hangi com.android.vending.INSTALL_REFERRER niyet ile başvurumu diyebiliriz gibiINSTALL_REFERRER mağazasını mağazada çalmak için INTRALL_REFERRER sınırlaması

ExportedReceiver: Receiver does not require permission 

görünüyor. Sadece bu uygulamayı gönderen Google Play Store (veya uygulamanızı oyun mağazasından yükleyebilecek başka bir android sistem uygulaması) olmalı.

Bu nedenle, geçerli uygulamaları oyun deposuna sınırlayan bir izin nasıl ayarlanacağını anlamaya çalıştım, ancak belgeye göre izni belirlemenin doğru yolunu bulamıyorum:

Uygulamamın bu amacı oyun deposuna kabul edeceği uygulamaları sınırlayan bir kişi bana yardımcı olabilir mi?

<receiver 
      android:name=".referrals.MyCampaignTrackingReceiver" 
      android:enabled="true" 
      android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER"/> 
     </intent-filter> 
    </receiver> 

Ben normal seviyesinde alıcı için bir izni ayarlama çalıştı ama o Play Store'daki gelen niyetini almasını uygulamayı engelledi: İşte benim şimdiki alıcı yapılandırma var.

+2

Bu alıcı izni konusunda neden bu kadar endişeleniyorsunuz? Bu yayını yalnızca bir kez, yükleme işleminden hemen sonra gerçekleştirmeniz gerektiğini bildiğinizi varsayarak, yalnızca bir kez ele alacağınız önlemleri alırsınız. Bir saldırgan, uygulamanızın ne zaman yüklendiğini bilmeli ve bir şekilde bu yayını playstore uygulamasından önce göndermelidir. Bana pek olası görünmüyor. –

+0

@Yoni Brüt Doğrusu, muhtemelen yine yararlı olacaktır hangi, sadece bir defa denilebilir sağlanması kabul etmemişti. – CorayThan

+0

@YoniGross Yorumunuzu yanıt olarak eklemek istiyorsanız, aslında benim uygulamamda yaptığım şeyden dolayı kabul edilen yanıtı yapacağız. Özbek'e lütfunu verdim çünkü bu soruya gerçekten cevap verdi, ama önerilerin benim için daha iyi. – CorayThan

cevap

2

INSTALL_REFERRER yayın izni büyük bir ilgi alanı değildir. Bu yayını yalnızca bir kez, yükleme işleminden hemen sonra gerçekleştirmeniz gerektiğini bildiğinizi varsayarak, yalnızca bir kez ele alacağınız önlemleri alırsınız. Bir saldırgan, uygulamanızın ne zaman yüklü olduğunu bilmeli ve bu yayını playtore uygulamasından önce gönderecektir. olası olmayan.

3

Alıcınıza android:permission özniteliği ayarlamanız gerekir. Böyle bir şey olacaktır Böylece: Eğer Mağaza sahiptir VE (sahip olmak üzere üçüncü taraf uygulamalar için mümkün değil Çal herhangi izni keyfi kullanabilirsiniz edilir

<receiver 
     android:name=".referrals.MyCampaignTrackingReceiver" 
     android:enabled="true" 
     android:exported="true" 
     android:permission="android.permission.CLEAR_APP_CACHE"> 
    <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER"/> 
    </intent-filter> 
</receiver> 

Kullanımı burada "android.permission.CLEAR_APP_CACHE" ait CLEAR_APP_CACHE s koruması nedeniyle seviye system|signature sadece bu izni bildiren uygulama ile aynı sertifika ile imzalanmış sistem uygulamaları veya uygulamalar; bu durumda platform). Örneğin, looking through Play Store'un manifestosu, "com.android.vending.permission.C2D_MESSAGE"'un başka bir iyi aday olabileceğini akla getirir.

Bu yardımcı olur umarım.

+0

Henüz bunu test etme şansınız olmadı, ama tanımladığınız şey çok anlamlı. – CorayThan

İlgili konular