चेतावनी आपका Apk अनुमतियों का उपयोग कर रहा है जिसके लिए एक गोपनीयता नीति की आवश्यकता है: (android.permission.READ_PHONE_STATE)


85

प्रकट में Android.permission.READ_PHONE_STATE नहीं जोड़ा गया। अनुमति।

जब मैं एक नया apk संस्करण अपलोड करता हूं तो त्रुटि क्यों आती है।

आपके एप्लिकेशन में संस्करण 1 के साथ एक एपीके है जो निम्नलिखित अनुमति का अनुरोध करता है: android.permission.READ_PHONE_STATE। एपीके में इन अनुमतियों का उपयोग करने वाले ऐप्स के लिए गोपनीयता नीति सेट होना आवश्यक है।

मैंने अपने google play store अकाउंट का स्क्रीनशॉट संलग्न किया है। यहां छवि विवरण दर्ज करें

मेरी मैनिफ़ेस्ट फ़ाइल।

<?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
क्या अनुमति उस प्रकटीकरण में मौजूद थी जिसके पहले आपने हटा दिया था और नया एपीके अपलोड नहीं किया था?
अगस्त को

नहीं, मेरी मेनिफ़ेस्ट फ़ाइल संलग्न है जिसे आप देख सकते हैं।
जिक्स

अपने प्रकट होने पर रीड फ़ोन स्थिति की अनुमति जोड़ें
नूरुल

मैंने पहले ही जोड़ने और फिर से हटाने की कोशिश की है। कुछ भी नहीं काम करता है
नरेंद्र सोरठिया

2
इसे देखें: stackoverflow.com/a/42751979/3806413
0xAliHn

जवाबों:


58

आपके ऐप के मेनिफ़ेस्ट। Xml में आपके डिवाइस से जानकारी एक्सेस करने की अनुमति है, लेकिन आपके पास प्ले स्टोर पर सबमिट करने के दौरान गोपनीयता नीति लिंक नहीं है। इसलिए आपको यह चेतावनी मिल रही है।

ऐप के लिए गोपनीयता नीति की आवश्यकता है यदि आपका ऐप व्यक्तिगत या संवेदनशील उपयोगकर्ता डेटा को संभालता है

अपने ऐप की स्टोर लिस्टिंग में गोपनीयता नीति जोड़ने से संवेदनशील उपयोगकर्ता और डिवाइस डेटा के साथ व्यवहार करने के तरीके के बारे में पारदर्शिता प्रदान करने में मदद मिलती है।

****** अपडेट
Google Play कंसोल में गोपनीयता नीति सेटिंग ने स्थान बदल दिए हैं।

Google Play कंसोल में,
स्टोर उपस्थिति> ऐप सामग्री का चयन करें।
"गोपनीयता नीति" के तहत।


19
क्या टेम्पलेट से निजी नीति बनाने का कोई तरीका है?
डेनियल

मुझे आशा है कि आपको गोपनीयता नीति दिखाने की आवश्यकता होगी, लेकिन आपके पास वेबसाइट नहीं है, शायद गोपनीयता नीति दस्तावेज़ में पाठ सामग्री होगी, इसलिए सबसे आसान तरीका यह है कि हम आपकी सभी गोपनीयता नीति और अनुमति संबंधित जानकारी के साथ शब्द दस्तावेज़ बना सकते हैं इसे किसी भी मुफ्त बकेट जैसे ड्रॉप बॉक्स आदि पर अपलोड करें फिर आप प्ले स्टोर सबमिशन पर उपयोग करने के लिए यूआरएल प्राप्त कर सकते हैं।
देवा

मैं भी ऐसी ही समस्या का सामना कर रहा हूँ। मैंने READ_PHONE_STATE अनुमति का उपयोग नहीं किया, फिर यह क्यों कहता है कि आपका ऐप इसका उपयोग करता है?
जयदीप कलकानी

3
AdMob की वजह से। उनका वर्तमान संस्करण 12.0.0 READ_PHONE_STATE (बग) का अनुरोध करता है, भले ही आपके ऐप में यह प्रकट न हो। तो यह बात है। उन्होंने कहा कि वे जल्द ही 12.0.1 को एक अपडेट जारी करेंगे।
ब्लैकजैक

1
Google Play कंसोल में गोपनीयता नीति सेटिंग को बदल दिया गया है। स्टोर उपस्थिति> एप्लिकेशन सामग्री का चयन करें। "गोपनीयता नीति" के तहत।
ऑनजॉन

36

बस इस लाइन को अपनी मैनिफ़ेस्ट फ़ाइल में जोड़ने का प्रयास करें:

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

और xmlns:tools="http://schemas.android.com/tools"अपने <manifest>टैग टैग टूल को परिभाषित करने के लिए अपने टैग में विशेषता जोड़ें

के लिए प्रलेखन से tools:node="remove":

इस तत्व को मर्ज किए गए प्रकट से निकालें। यद्यपि ऐसा लगता है कि आपको इसके बजाय बस इस तत्व को हटाना चाहिए, इसका उपयोग तब आवश्यक है जब आप अपने विलय किए गए प्रकट में एक तत्व की खोज करते हैं जिसकी आपको आवश्यकता नहीं है, और यह एक कम-प्राथमिकता वाली प्रकट फ़ाइल द्वारा प्रदान किया गया था जो आपके नियंत्रण से बाहर है (जैसे एक आयातित पुस्तकालय के रूप में)।


2
यह गंदे अनुमतियों की भी चेतावनी देता है जो अन्यथा दिखाई देती हैं जब कोई व्यक्ति आपके ऐप को डाउनलोड करने जा रहा है ... एक होना चाहिए
kwishnu

2
यदि आप इसका उपयोग नहीं करते हैं तो आप READ_PHONE_STATE
Hoàng 23ăng

3
[घातक त्रुटि]: 50: 95: गुण "उपकरण" के लिए उपसर्ग "उपकरण": नोड "तत्व-अनुमति" के साथ जुड़ा हुआ एक प्रकार है।
मनीष कुमार

मैनिफ़ेस्ट हेडर में इसका उपयोग करें? <प्रकट xmlns: android = " schemas.android.com/apk/res/android " xmlns: tools = " schemas.android.com/tools " ...... />
मार्टिन बी

6

आपके प्रोजेक्ट में निर्भरताएँ, उनकी अपनी अनुमतियाँ जोड़ देंगी। कृपया नीचे खोजें कि "READ_PHONE_STATE" कहां से आ रहा है।

  1. अपने Android एप्लिकेशन का पुनर्निर्माण करें
  2. एंड्रॉइड स्टूडियो में "Ctrl + Shift + F" दबाएं (मूल रूप से आपकी प्राथमिकता के संपादक में सभी खोज करें)।
  3. "READ_PHONE_STATE" के लिए खोजें, आपको एक पुनर्जीवित मैनिफ़ेस्ट फ़ाइल में प्रविष्टि मिलेगी (मूल रूप से आपके द्वारा नहीं)। इसके रास्ते से आप जान सकते हैं कि किस निर्भरता से अनुमति मिल रही है। यहां छवि विवरण दर्ज करें


5

आपको मैनिफ़ेस्ट फ़ाइल में minऔर target sdkसंस्करण को निर्दिष्ट करने की आवश्यकता है ।
यदि android.permission.READ_PHONE_STATEआपकी एपीके फ़ाइल निर्यात करते समय वसीयत स्वचालित रूप से नहीं जोड़ी जाएगी।

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

महान! यह तय है। यह तब जोड़ा जा रहा था जब मेरे पास निर्धारित लक्ष्य नहीं था।
तरुण

5

यह किसी भी तृतीय पक्ष के दायित्व के कारण हो सकता है जिसमें वह अनुमति शामिल हो सकती है, इसलिए इस क्षेत्र में मेरे अनुभव से आपको उस विशेष जानकारी से संबंधित गोपनीयता नीति को जोड़ना होगा, यदि आप पूछते हैं कि आपको अपने ऐप में खातों की अनुमति लेनी है तो आपको इसकी घोषणा करनी होगी आपकी गोपनीयता नीति फ़ाइल के साथ हम उस डेटा अर्थात ईमेल पते या Google Play गेम में लॉगिन करने जैसे कारणों के साथ उपयोग करते हैं।

यह भी कर सकते हैं

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

आशा है कि यह आपको निर्देशित करेगा कि आप इस चेतावनी के लिए क्या कर सकते हैं अपने ऐप के लिए गोपनीयता नीति बनाएं और स्टोर लिस्टिंग के साथ संलग्न करें


धन्यवाद :) लेकिन यह काम करेगा <उपयोग-अनुमति android: name = "android.permission.READ_PHONE_STATE" टूल: नोड = "निकालें" />?
प्रियंकाचौहान


3

वर्तमान में कुछ लोग 12.0.0AdMob lib के संस्करण का उपयोग करने के कारण उसी समस्या का सामना कर रहे हैं ।

इसे अपडेट करें 12.0.1। इसे ठीक करना चाहिए। आप यहां और पढ़ सकते हैं


बाहरी संसाधनों के लिंक को प्रोत्साहित किया जाता है, लेकिन कृपया लिंक के चारों ओर संदर्भ जोड़ें ताकि आपके साथी उपयोगकर्ताओं को कुछ अंदाजा हो कि यह क्या है और क्यों है। हमेशा एक महत्वपूर्ण लिंक का सबसे प्रासंगिक हिस्सा उद्धृत करें, यदि लक्ष्य साइट उपलब्ध नहीं है या स्थायी रूप से ऑफ़लाइन है।
बैडुकर

यह मेरे लिए फिक्स था। ए-स्टूडियो में, आप "मर्ज किए गए मैनिफ़ेस्ट" को देख सकते हैं और यह Google Play लाइब्रेरीज़ की ओर इशारा करता है।
मैट डी।

2

यदि आप किसी डिवाइस> Android 6.0 पर अपने ऐप का परीक्षण कर रहे हैं, तो आपको उपयोगकर्ता को अनुमति देने के लिए स्पष्ट रूप से पूछना होगा।

जैसा कि आप देख सकते हैं यहां READ_PHONE_STATE एक खतरनाक स्तर है।

यदि किसी अनुमति का खतरनाक स्तर है, तो उपयोगकर्ता को मैन्युअल रूप से इस अनुमति को स्वीकार करना होगा या नहीं करना होगा। आपके पास विकल्प नहीं है, आप इसे अवश्य करें

अपनी गतिविधि से ऐसा करने के लिए निम्नलिखित कोड निष्पादित करें:

अगर उपयोगकर्ता Android M का उपयोग करता है और उसने अभी तक अनुमति नहीं दी है तो वह इसके लिए पूछेगा।

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);
        }

फिर onRequestPermissionsResultअपनी गतिविधि में ओवरराइड करें

@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
                }
            }
        }
    }

इसके बारे में अधिक जानने के लिए आपको यह लेख पढ़ना चाहिए


2
  1. संभवतः आप 9.6.0 संस्करण के PlayServices का उपयोग कर रहे हैं। फिर आपको इसे अपडेट करना चाहिए, यह लाइब्रेरी का बग है। अधिक जानकारी यहाँ

या

  1. जोड़ना

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

आपके मैनिफ़ेस्ट फ़ाइल में।


1
यह विषय READ_PHONE_STATE अनुमति समस्या के बारे में है। क्यों android.permission.CAMERA?
अलेक्जेंडर मरोचको

2

क्या आप अपने ऐप, या शायद Google Analytics में AdSense या अन्य विज्ञापनों का उपयोग कर रहे हैं? मुझे लगता है कि यदि आप ऐसा करते हैं, भले ही आपके पास अपने प्रदर्शन में android.permission.READ_PHONE_STATE न हो तो यह विज्ञापन लाइब्रेरी द्वारा जोड़ा जाता है।

निशुल्क टेम्पलेट हैं जो आपको गोपनीयता नीति बनाने में मदद कर सकते हैं।

यह वह ईमेल है जिसके बारे में मुझे Google से प्राप्त हुआ है:

नमस्ते Google Play डेवलपर, हमारे रिकॉर्ड बताते हैं कि आपका ऐप, xxx, पैकेज नाम xxx के साथ, वर्तमान में व्यक्तिगत और संवेदनशील जानकारी के बारे में हमारी उपयोगकर्ता डेटा नीति का उल्लंघन करता है। नीति समस्या: Google Play को डेवलपर्स को एक वैध गोपनीयता नीति प्रदान करने की आवश्यकता होती है, जब ऐप संवेदनशील उपयोगकर्ता या डिवाइस की जानकारी का अनुरोध करता है या संभालता है। आपका एप्लिकेशन संवेदनशील अनुमतियों (जैसे कैमरा, माइक्रोफ़ोन, खाते, संपर्क या फ़ोन) या उपयोगकर्ता डेटा का अनुरोध करता है, लेकिन इसमें एक मान्य गोपनीयता नीति शामिल नहीं है। आवश्यक कार्रवाई: अपने ऐप के स्टोर सूची पृष्ठ पर और अपने ऐप के भीतर एक मान्य गोपनीयता नीति का लिंक शामिल करें। आप हमारे सहायता केंद्र में अधिक जानकारी पा सकते हैं। वैकल्पिक रूप से, आप संवेदनशील अनुमतियों या उपयोगकर्ता डेटा के लिए किसी भी अनुरोध को हटाकर इस आवश्यकता से बाहर निकल सकते हैं। यदि आपके पास अपनी सूची में अतिरिक्त ऐप्स हैं, कृपया सुनिश्चित करें कि वे हमारे प्रमुख प्रकटीकरण आवश्यकताओं के अनुरूप हैं। कृपया 15 मार्च, 2017 तक इस मुद्दे को हल करें, या आपके ऐप की दृश्यता को सीमित करने के लिए और प्ले स्टोर से हटाने सहित प्रशासनिक कार्रवाई की जाएगी। Google Play उपयोगकर्ताओं के लिए एक स्पष्ट और पारदर्शी अनुभव प्रदान करने में हमारी मदद करने के लिए धन्यवाद। सादर, Google Play टीम


1
मुझे लगता है कि एक मुफ्त गोपनीयता नीति के लिए एक अच्छा स्टारिंग पॉइंट
सेबेस्टियानो टोगनियास

मुझे आपके साथ एक ही ईमेल मिलता है, क्या विज्ञापन और GAnalytics के अलावा कोई और संभावना है?
बजे

2

आपको android.permission.READ_PHONE_STATEअनुमति छोड़नी चाहिए । इसे अपनी मैनिफ़ेस्ट फ़ाइल में जोड़ें:

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

1

1. आपको अपनी वेबसाइट पर गोपनीयता नीति पेज बनाने की आवश्यकता है और आप जो भी पूछ रहे हैं उसकी गोपनीयता नीति को अपडेट करें।

2. नया एसडीके अनचाहे अनुमतियों को हटा दें और ऐप को पुनः सबमिट करें।


1

मुझे यह मुफ्त वेबसाइट मिली जो आपके लिए पॉलिसी बनाएगी और इसे होस्ट करेगी:

https://www.freeprivacypolicy.com/

फिर इसे स्टोर लिस्टिंग के तहत प्ले स्टोर में जोड़ें - नीचे उस पॉलिसी के लिए सार्वजनिक लिंक जोड़ें जो आपको https://www.freeprivacypolicy.com/ से मिली थी।



0

2018 अपडेट:

AdMob उपयोगकर्ताओं के लिए, यह AdMob संस्करण 12.0.0 (वर्तमान में अंतिम संस्करण) का कारण बनता है। यह गलत तरीके से READ_PHONE_STATE अनुमति का अनुरोध करता है, इसलिए भले ही आपके ऐप को प्रकट में READ_PHONE_STATE अनुमति की आवश्यकता नहीं है, आप Google Play कंसोल में अपने ऐप को अपडेट नहीं कर पाएंगे (यह आपको आपके ऐप के लिए एक गोपनीयता पेज बनाने के लिए बताएगा,) क्योंकि आपके ऐप को इस अनुमति की आवश्यकता है)।

इसे देखें: https://developers.google.com/android/guides/releases#march_20_2018_-_version/1200

इसके अलावा, उन्होंने लिखा कि वे जल्द ही इसे ठीक करते हुए 12.0.1 को एक अपडेट प्रकाशित करेंगे।


0

मैं एक ही मुद्दे का सामना कर रहा था और Google Play पर एपीके अपलोड करते समय त्रुटि हुई। मैंने अपने ऐप में विज्ञापनों का उपयोग किया है, और मुझे अपनी मैनिफ़ेस्ट फ़ाइल में READ_PHONE_STATE अनुमति का उल्लेख भी नहीं किया गया था। लेकिन फिर भी मुझे यह त्रुटि मिली। फिर मैं build.gradle फ़ाइल में विज्ञापनों के लिए निर्भरताएँ बदलता हूँ। और फिर इसने मेरी समस्या हल कर दी। उन्होंने इस मुद्दे को 12.0.1 में हल किया।

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

0

स्टेप बाय स्टेप देखें और आप समझ जाएंगे

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
कृपया अपने कोड में कुछ स्पष्टीकरण जोड़ें, जैसे कि अन्य लोग इससे सीख सकते हैं
निको हसे

0

यदि आप अद्वितीय डिवाइस आईडी प्राप्त करने के लिए पैकेज device_id का उपयोग कर रहे हैं, तो यह android.permission.READ_PHONE_STATEआपके ज्ञान के बिना जोड़ देगा जो अंततः प्ले स्टोर चेतावनी को जन्म देगा।

इसके बजाय आप बिना अतिरिक्त अनुमति के उसी उद्देश्य के लिए device_info पैकेज का उपयोग कर सकते हैं । इस SO थ्रेड की जाँच करें


0

यदि आप संदेश को ध्यान से पढ़ते हैं, तो आप देखेंगे कि आप कैमरा, माइक्रोफोन, संपर्क, संग्रहण और फोन, आदि जैसी अनुमतियों का उपयोग कर रहे हैं और आप गोपनीयता नीति की आपूर्ति नहीं करते हैं। यदि आप ऐसा करते हैं तो आपको गोपनीयता नीति की आपूर्ति करने की आवश्यकता है। आप Google पर Android गोपनीयता नीति के बारे में अधिक जानकारी प्राप्त कर सकते हैं

गोपनीयता नीति इन-प्ले कंसोल को जोड़ने के लिए,

  1. सभी ऐप्स खोजें और चुनें ।

  2. उस एप्लिकेशन का चयन करें जिसे आपको अपनी गोपनीयता नीति को जोड़ने की आवश्यकता है।

  3. पृष्ठ के अंत में नीति खोजें ।

  4. अपने ऐप के लिए लिस्टिंग को संपादित करने के लिए ऐप सामग्री पर क्लिक करें ।

  5. P rivacy Policy लेबल वाला फ़ील्ड ढूंढें और अपनी गोपनीयता नीति के पृष्ठ का URL डालें

  6. सहेजें पर क्लिक करें और आप जाने के लिए अच्छे हैं।

नोट: आपको अपनी गोपनीयता नीति को होस्ट करने के लिए एक सार्वजनिक वेब पेज होना चाहिए। Google Play Store आपके लिए पॉलिसी होस्ट नहीं करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.