Play Console अनुमति घोषणा चेकर

अपना AndroidManifest.xml, या अपने बने हुए APK के लिए aapt2 dump permissions का आउटपुट पेस्ट करें। हर अनुमति की सूची बनती है, और जिनके लिए Google Play Console में घोषणा की ज़रूरत हो सकती है वे सबसे पहले आती हैं, साथ में यह कि Google क्या चाहता है और आपको क्या करना है। यह आपके ब्राउज़र में चलता है: कुछ भी अपलोड नहीं होता। हर अनुमति के पेज अंग्रेज़ी में हैं।

यह आपके ब्राउज़र में चलता है। आप जो भी पेस्ट करते हैं, वह न अपलोड होता है न सेव।

सिर्फ़ अपना नहीं, मर्ज किया गया मैनिफ़ेस्ट क्यों जाँचें?

आप जो भी लाइब्रेरी जोड़ते हैं, वह अपना मैनिफ़ेस्ट लाती है, और बिल्ड उन्हें आपके मैनिफ़ेस्ट में मर्ज कर देता है। इसी तरह कोई ऐप ऐसी अनुमति माँगने लगता है जो टीम में किसी ने टाइप नहीं की: कोई ऐड SDK विज्ञापन ID जोड़ सकता है, कोई अपडेटर या फ़ाइल खोलने वाली लाइब्रेरी REQUEST_INSTALL_PACKAGES, और कोई नोटिफ़िकेशन या शेड्यूलिंग लाइब्रेरी exact alarms। Google मर्ज किए गए नतीजे की समीक्षा करता है।

वह सूची देखने के लिए जो आपके उपयोगकर्ताओं को असल में मिलेगी:

  • Android Studio: AndroidManifest.xml खोलें और एडिटर के नीचे Merged Manifest टैब पर क्लिक करें। यह भी दिखाता है कि हर पंक्ति किस लाइब्रेरी से आई।
  • बना हुआ APK: नीचे दिया कमांड चलाएँ और उसका आउटपुट यहाँ पेस्ट करें।
aapt2 dump permissions app-release.apk

किसी लाइब्रेरी की जोड़ी अनुमति कैसे हटाएँ?

वही अनुमति अपने मैनिफ़ेस्ट में tools:node="remove" के साथ घोषित करें। तब मर्ज उसे हटा देता है, चाहे किसी भी लाइब्रेरी ने माँगी हो। यह नेटिव, Flutter और React Native प्रोजेक्ट्स में एक जैसा काम करता है (आख़िरी दो में फ़ाइल android/app/src/main/AndroidManifest.xml है)।

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

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

Expo प्रोजेक्ट में, अपने ऐप कॉन्फ़िग में इसे android.blockedPermissions के अंतर्गत लिखें, जो prebuild के समय यही करता है:

{
  "expo": {
    "android": {
      "blockedPermissions": ["android.permission.QUERY_ALL_PACKAGES"]
    }
  }
}

फिर उस लाइब्रेरी का काम टेस्ट करें। अगर उसे अनुमति चाहिए थी, तो फ़ीचर काम करना बंद कर सकता है, और तब चुनाव फ़ीचर और घोषणा के बीच होता है।

यह चेकर क्या नहीं बता सकता?

यह कि अनुमति का आपका इस्तेमाल योग्य है या नहीं। Google इनमें से ज़्यादातर को खास तरह के ऐप्स तक सीमित रखता है, और सिर्फ़ उसकी समीक्षा तय करती है कि आपका ऐप उनमें से है या नहीं। चेकर सिर्फ़ वही पढ़ता है जो आप पेस्ट करते हैं, इसलिए वह यह नहीं देख सकता कि आपके ऐप के SDK क्या डेटा इकट्ठा करते हैं, बिल्ड किस API लेवल को टारगेट करता है, या उसमें कोई key तो नहीं छूट गई।

आम सवाल

किन Android अनुमतियों के लिए Play Console में घोषणा ज़रूरी है?
वे संवेदनशील अनुमतियाँ जिन्हें Google खास तरह के ऐप्स तक सीमित रखता है: बैकग्राउंड लोकेशन, सभी फ़ाइलों का एक्सेस, SMS और कॉल लॉग, QUERY_ALL_PACKAGES, REQUEST_INSTALL_PACKAGES, exact alarms, फ़ुल-स्क्रीन इंटेंट, फ़ोटो और वीडियो एक्सेस, फ़ोरग्राउंड सर्विस के प्रकार और विज्ञापन ID, आदि। आपकी अनुमति मिलेगी या नहीं, यह इस पर निर्भर है कि आपका ऐप क्या करता है, और इसका फ़ैसला सिर्फ़ Google की समीक्षा करती है।
मेरे ऐप में ऐसी अनुमति क्यों है जो मैंने कभी जोड़ी ही नहीं?
लाइब्रेरी अपने मैनिफ़ेस्ट लाती हैं, और बिल्ड उन्हें आपके मैनिफ़ेस्ट में मर्ज कर देता है। पूरी सूची देखने के लिए Android Studio में मर्ज किया गया मैनिफ़ेस्ट देखें, या बने हुए APK पर aapt2 dump permissions चलाएँ।
किसी लाइब्रेरी की जोड़ी अनुमति कैसे हटाएँ?
उसे अपने मैनिफ़ेस्ट में tools:node="remove" के साथ घोषित करें, या Expo में उसे android.blockedPermissions में लिखें। फिर उस लाइब्रेरी का फ़ीचर टेस्ट करें, क्योंकि हो सकता है उसे वह अनुमति चाहिए रही हो।
क्या मेरा मैनिफ़ेस्ट कहीं अपलोड होता है?
नहीं। चेकर आपके ब्राउज़र में चलता है और आप जो टेक्स्ट पेस्ट करते हैं वह कभी किसी सर्वर पर नहीं भेजा जाता।

स्रोत

क्या हम एनालिटिक्स और विज्ञापन मापन का उपयोग कर सकते हैं? एनालिटिक्स (Vercel, और हमारे सार्वजनिक पेजों पर Ahrefs) बिना कुकीज़ के पेज व्यू गिनते हैं। विज्ञापन मापन से हमारे सार्वजनिक पेजों पर Google का टैग, Google कुकी की मदद से, यह देख पाता है कि कौन-सी विज़िट हमारे Google विज्ञापनों से आईं। दोनों ही स्थितियों में साइट एक जैसी काम करती है। कुकी नीति · Google डेटा का उपयोग कैसे करता है ·