Apk'inizin Gizlilik Politikası Gerektiren İzinleri Kullantığı Uyarılar: (android.permission.READ_PHONE_STATE)


86

Manifestte android.permission.READ_PHONE_STATE eklenmedi. izin.

Yeni bir apk sürümü yüklediğimde neden hata geliyor hatası aşağıda geliyor.

Uygulamanızın, şu izinleri isteyen sürüm kodu 1 olan bir apk'si var: android.permission.READ_PHONE_STATE. Bir APK'de bu izinleri kullanan uygulamaların bir gizlilik politikası ayarlanmış olması gerekir.

Google Play Store hesabımın ekran görüntüsünü ekledim. görüntü açıklamasını buraya girin

manifest dosyam.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.name">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".utils.PreferenceManager"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" />

        <activity
            android:name=".CategoryListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ImagesActivity"
            android:screenOrientation="portrait" />

    </application>

</manifest>

1
İzin, daha önce kaldırdığınız ve yeni apk'yi yüklemediğiniz manifestte mevcut muydu?
aconnelly

Hayır, manifest dosyam eklendi, görebilirsiniz.
Jiks

manifestinize telefon durumu okuma izni ekleyin
Noorul

Zaten ekleyip tekrar kaldırmayı denedim. Hiçbir şey işe
yaramıyor

2
Şuna

Yanıtlar:


61

Uygulamanızın manifest.xml dosyası, sizin cihazınızdan bilgilere erişmek için bu izne sahip, ancak oyun mağazasına gönderirken gizlilik politikası bağlantınız yok. bu yüzden bu uyarıyı alıyorsunuz.

Uygulama için gizlilik politikasına ihtiyacınız var Uygulamanız kişisel veya hassas kullanıcı verilerini işliyorsa

Uygulamanızın mağaza girişine bir gizlilik politikası eklemek, hassas kullanıcı ve cihaz verilerini nasıl ele aldığınız konusunda şeffaflık sağlamaya yardımcı olur.

****** Güncelleme
Google Play Console'daki gizlilik politikası ayarı konumlar değiştirdi.

Google Play Console'da
Mağazadaki varlığı> Uygulama içeriği'ni seçin.
"Gizlilik Politikası" altında.


19
Özel politikayı bir şablondan oluşturmanın herhangi bir yolu var mı?
Daniele

Umarım gizlilik politikasını göstermeniz gerekir, ancak web siteniz yoktur, muhtemelen gizlilik politikası belgesi metin içeriği olacaktır, bu nedenle en kolay yol, tüm gizlilik politikanız ve izinle ilgili bilgilerinizle word belgesi hazırlayabiliriz, o zaman yapabilirsiniz açılan kutu vb. gibi herhangi bir ücretsiz kovaya yükleyin, ardından url'yi oyun mağazası gönderiminde kullanabilirsiniz.
Deva

Ben de aynı problemle karşı karşıyayım. READ_PHONE_STATE iznini kullanmadım, o zaman neden uygulamanızın bunu kullandığını söylüyor?
Jaydip Kalkani

3
AdMob yüzünden. Mevcut sürüm 12.0.0, uygulamanızda bildirimde bulunmasa bile READ_PHONE_STATE (hata) istiyor. İşte bu kadar. Yakında 12.0.1 için bir güncelleme yayınlayacaklarını söylediler.
blackJack

1
Google Play Console'daki gizlilik politikası ayarının yolu değiştirildi. Google Play Store'daki varlığı> Uygulama içeriği'ni seçin. "Gizlilik Politikası" altında.
OnJohn

36

Bu satırı manifest dosyanıza eklemeyi deneyin:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

ve ad alanı araçlarını tanımlamak xmlns:tools="http://schemas.android.com/tools"için <manifest>etiketinize nitelik ekleyin

Gönderen belgeler için tools:node="remove":

Bu öğeyi birleştirilmiş bildirimden kaldırın. Bunun yerine bu öğeyi silmeniz gerektiği gibi görünse de, birleştirilmiş bildiriminizde ihtiyacınız olmayan bir öğeyi keşfettiğinizde bunu kullanmak gereklidir ve bu, sizin kontrolünüz dışında olan daha düşük öncelikli bir bildirim dosyası tarafından sağlanmıştır (böyle içe aktarılmış bir kitaplık olarak).


2
Bu ayrıca, aksi takdirde birisi uygulamanızı indireceği zaman ortaya çıkan kötü izin uyarılarını da ortadan kaldırır ... a olmalıdır
kwishnu

2
bunu kullanırsanız READ_PHONE_STATE
Hoàng Đăng

3
[Önemli Hata]: 50: 95: Bir öğe türü "kullanım izni" ile ilişkili "araçlar: düğüm" özniteliği için "araçlar" öneki bağlı değil.
manish kumar

Bu, manifest başlığında kullanılsın mı? <manifest xmlns: android = " schemas.android.com/apk/res/android " xmlns: tools = " schemas.android.com/tools " ...... />
Martin B

6

Projenizde sahip olduğunuz bağımlılıklar kendi izinlerini ekleyecektir. Lütfen "READ_PHONE_STATE" nin nereden geldiğini bulmak için aşağıdakileri yapın.

  1. Android uygulamanızı yeniden oluşturun
  2. Android stüdyosunda "Ctrl + Shift + F" tuşlarına basın (temelde tercihinizin düzenleyicisinde bir arama yapın).
  3. "READ_PHONE_STATE" için arama yapın, girişi yeniden oluşturulmuş bir manifest dosyasında bulabilirsiniz (orijinal olarak oluşturduğunuz dosyada değil). Yolundan, iznin hangi bağımlılıktan eklendiğini öğrenebilirsiniz. görüntü açıklamasını buraya girin


5

manifest dosyasında minve target sdkversiyonunu belirtmeniz gerekir .
Eğer değilse, android.permission.READ_PHONE_STATEapk dosyanızı dışa aktarırken otomatik olarak eklenecektir.

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />

Harika! Bu onu düzeltti. Hedef belirlemediğimde ekleniyordu.
Tarun

5

Bu alandaki deneyimlerimden, söz konusu izni içerebilecek herhangi bir üçüncü taraf kitaplığından kaynaklanıyor olabilir. Bu belirli bilgilere ilişkin gizlilik politikasını eklemeniz gerekir; gizlilik politikası dosyanızla bu verileri, yani e-posta adresini veya google oyun oyuna giriş yapmak gibi nedenlerle kullanırız.

Bunu da yapabilirim

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

Bunun Size Yol Göstereceğini Umarım Bu uyarı için yapabilecekleriniz , uygulamanız için gizlilik politikası oluşturun ve bunu mağaza girişine ekleyin .


Teşekkürler :) ama bu işe yarayacak <uses-allow android: name = "android.permission.READ_PHONE_STATE" tools: node = "remove" />?
PriyankaChauhan

4

Üçüncü taraf kitaplığı. Suçluyu şurada bulabilirsiniz:build/outputs/logs/manifest-merger-release-report.txt


3

Şu anda bazı insanlar kullanım nedeniyle aynı sorunla karşı karşıya. 12.0.0 AdMob kitaplığı sürümünü .

Olarak güncelleyin 12.0.1. Bu onu düzeltmeli. Daha fazlasını buradan okuyabilirsiniz


Dış kaynaklara bağlantılar tavsiye edilir, ancak lütfen bağlantının etrafına bağlam ekleyin, böylece diğer kullanıcılarınız bunun ne olduğu ve neden orada olduğu konusunda fikir sahibi olur. Hedef sitenin erişilemez olması veya kalıcı olarak çevrimdışı olması durumunda, her zaman önemli bir bağlantının en alakalı bölümünü alıntılayın.
baduker

Bu benim için düzeltme oldu. A-Studio'da, "birleştirilmiş manifest" i görüntüleyebilirsiniz ve bu, Google Play Kitaplıkları'na işaret eder.
Matt D.

2

Uygulamanızı bir cihaz> android 6.0 üzerinde test ediyorsanız, ayrıca kullanıcıdan açıkça izin vermesini istemeniz gerekir.

Gördüğünüz gibi burada READ_PHONE_STATE tehlikeli bir seviyede.

Bir iznin tehlikeli bir düzeyi varsa, kullanıcının bu izni manuel olarak kabul etmesi veya etmemesi gerekir. Seçeneğin yok , bunu yapmalısın

Bunu faaliyetinizden yapmak için aşağıdaki kodu yürütün:

Kullanıcı Android M kullanıyorsa ve henüz izin vermediyse, bunu isteyecektir.

public static final int READ_PHONE_STATE_PERMISSION = 100;

  if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
                != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
        }

sonra onRequestPermissionsResultaktivitenizi geçersiz kılın

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case READ_PHONE_STATE_PERMISSION: {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    //Permission granted do what you want from this point
                }else {
                    //Permission denied, manage this usecase
                }
            }
        }
    }

Daha fazlasını öğrenmek için bu makaleyi okumalısınız


2
  1. Muhtemelen PlayServices 9.6.0 sürümünü kullanıyorsunuzdur. O halde güncellemelisiniz, bu kütüphanenin hatasıdır. Daha fazla bilgi burada .

VEYA

  1. Ekle

    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

manifest dosyanıza.


1
Bu konu READ_PHONE_STATE izin sorunuyla ilgilidir. Neden android.permission.CAMERA?
Alexander Marochko

2

Uygulamanızda AdSense veya başka reklamlar mı kullanıyorsunuz, yoksa Google Analytics mi? Bunu yaparsanız, manifestinizde android.permission.READ_PHONE_STATE olmasa bile, bu reklam kitaplığı tarafından eklenir.

Bir gizlilik politikası oluşturmanıza yardımcı olabilecek ücretsiz şablonlar vardır.

Bu konuda Google'dan aldığım e-posta:

Merhaba Google Play Geliştiricisi, Kayıtlarımız, xxx paket adlı xxx uygulamanızın şu anda Kişisel ve Hassas Bilgilerle ilgili Kullanıcı Verileri politikamızı ihlal ettiğini gösteriyor. Politika sorunu: Google Play, geliştiricilerin, uygulama hassas kullanıcı veya cihaz bilgilerini istediğinde veya işlediğinde geçerli bir gizlilik politikası sağlamasını gerektirir. Uygulamanız hassas izinler (ör. Kamera, mikrofon, hesaplar, kişiler veya telefon) veya kullanıcı verileri istiyor, ancak geçerli bir gizlilik politikası içermiyor. İşlem gerekli: Uygulamanızın Mağaza Girişi sayfasında ve uygulamanızın içinde geçerli bir gizlilik politikasına bağlantı ekleyin. Yardım merkezimizde daha fazla bilgi bulabilirsiniz. Alternatif olarak, hassas izinler veya kullanıcı verileri için tüm talepleri kaldırarak bu gereksinimi iptal edebilirsiniz. Kataloğunuzda ek uygulamalarınız varsa, Lütfen Öne Çıkan Açıklama gereksinimlerimizle uyumlu olduklarından emin olun. Lütfen bu sorunu 15 Mart 2017'ye kadar çözün, aksi takdirde uygulamanızın görünürlüğünü sınırlamak için Play Store'dan kaldırılması da dahil olmak üzere idari işlem yapılacaktır. Google Play kullanıcılarına net ve şeffaf bir deneyim sunmamıza yardımcı olduğunuz için teşekkür ederiz. Saygılarımızla, Google Play Ekibi


1
Sanırım ücretsiz bir gizlilik politikası için iyi bir başlangıç ​​noktası burada bulunabilir: docracy.com/6516/mobile-privacy-policy-ad-sponsored-apps
Sebastiano Tognacci

Sizinle aynı e-postayı alıyorum, Ads ve GAnalytics dışında başka olasılık var mı?
wanz

2

android.permission.READ_PHONE_STATEİzni bırakmalısın . Bunu manifest dosyanıza ekleyin:

<uses-permission
    android:name="android.permission.READ_PHONE_STATE"
    tools:node="remove" />

1

1. Web sitenizde gizlilik politikası sayfası oluşturmanız ve istediğiniz izinler için gizlilik politikanızı güncellemeniz gerekir.

2. Yeni SDK'yı güncelleyin, istenmeyen izinleri kaldırın ve uygulamayı yeniden gönderin.




0

2018 güncellemesi:

AdMob kullanıcıları için bu, AdMob sürüm 12.0.0'a (şu anda son sürüm) neden olur. Yanlışlıkla READ_PHONE_STATE izni istiyor, bu nedenle uygulamanız manifestte READ_PHONE_STATE izni gerektirmese bile, uygulamanızı Google Play Console'da güncelleyemeyeceksiniz (uygulamanız için bir gizlilik politikası sayfası oluşturmanızı söyleyecektir, çünkü uygulamanız bu izni gerektiriyor).

Bunu gör: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200

Ayrıca, yakında 12.0.1'e bir güncelleme yayınlayacaklarını yazdılar.


0

Aynı sorunla karşılaşıyordum ve Google oyununa apk yüklerken hatayı aldım. Uygulamamda reklamlar kullandım ve manifest dosyamda READ_PHONE_STATE izninden bile bahsetmedim. ama yine de bu hatayı aldım. Daha sonra build.gradle dosyasındaki reklamlar için bağımlılıkları değiştiriyorum. ve sonra sorunumu çözdü. Bu sorunu 12.0.1'de çözdüler.

compile 'com.google.android.gms:play-services-ads:12.0.1'

0

Steb'i adım adım görün ve anlayacaksınız

public static String getVideoTitle(String youtubeVideoUrl) {
        Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
        try {

            if (youtubeVideoUrl != null) {
                URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
                        youtubeVideoUrl + "&format=json"
                );
                Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
                Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
                Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );

                return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
            }
        } catch (Exception e) {
            Log.e(" In catch Function ".toString() ,"hiii" );

            e.printStackTrace();
        }
        return null;
    }

2
Lütfen kodunuza başkalarının öğrenebileceği bir açıklama ekleyin
Nico Haase

0

Benzersiz cihaz kimliğini almak için device_id paketini kullanıyorsanız, bu, android.permission.READ_PHONE_STATEbilginiz olmadan sonunda Play Store uyarısına yol açacak bir ekleyecektir .

Bunun yerine device_info paketini ekstra izne ihtiyaç duymadan aynı amaç için kullanabilirsiniz . Bu SO başlığını kontrol edin


0

Mesajı dikkatlice okursanız, kamera, Mikrofon, Kişiler, Depolama ve Telefon gibi izinleri kullandığınızı ve bir gizlilik politikası sağlamadığınızı göreceksiniz. Bunu yaparsanız bir gizlilik politikası sağlamanız gerekir. google'da android gizlilik politikası hakkında daha fazla bilgi bulabilirsiniz

Play Console'da Gizlilik Politikası Eklemek İçin,

  1. Tüm Uygulamalar'ı bulun ve seçin .

  2. Gizlilik Politikanızı eklemeniz gereken uygulamayı seçin.

  3. Politikayı sayfanın sonunda bulun .

  4. Uygulamanızın girişini düzenlemek için Uygulama içeriği'ni tıklayın .

  5. Etiketli alana P bulun rivacy İlkesi ve Gizlilik Politikası sayfanın URL'sini yerleştirin

  6. Click Kaydet ve gitmek iyidir.

Not: Gizlilik Politikanızı barındırmak için herkese açık bir web sayfanızın olması gerekir. Google Play Store, politikayı sizin için barındırmaz.

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.