[android] Google Play में टैबलेट पर मेरा ऐप क्यों नहीं दिख रहा है?



Answers

यह पृष्ठ आपकी समस्या की पहचान करता है।

जब आप <uses-permission> <uses-feature> बजाय <uses-feature> का <uses-permission> करते हैं, तो आपका एप्लिकेशन मार्केट द्वारा फ़िल्टर नहीं किया जाएगा, लेकिन उम्मीद है कि आप कोड स्तर पर उस सुविधा का समर्थन न करने वाले उपकरणों को संभाल लेंगे।

उपरोक्त उस पृष्ठ में किसी भी अनुमति के लिए, आप एक android:required="false" विशेषता के साथ, <uses-feature> तत्व में स्पष्ट रूप से निहित सुविधा को स्पष्ट रूप से घोषित करके अंतर्निहित सुविधा के आधार पर फ़िल्टरिंग अक्षम कर सकते हैं। उदाहरण के लिए, कैमरे की अनुमति के आधार पर किसी भी फ़िल्टरिंग को अक्षम करने के लिए, आप इस घोषणा को मैनिफेस्ट फ़ाइल में जोड़ देंगे:

<uses-feature android:name="android.hardware.camera" android:required="false" />

हालांकि, जब आप <uses-permission> निर्दिष्ट करते हैं, तो उन सभी डिवाइस जिनके पास उस सुविधा तक पहुंच नहीं है फ़िल्टर किए जाते हैं।

Question

मैंने अभी फोन और टैबलेट के लिए अपना ऐप जारी किया है लेकिन यह टैबलेट के लिए Google Play में दिखाई नहीं दे रहा है।

नेक्सस 7 और एसस ईपैड पर जांच की गई

मेरे पास मेरी मेनिफेस्ट फ़ाइल में यही है

<compatible-screens>
    <!--no small size screens -->

    <!--Only hdpi and xhdpi for normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
</compatible-screens>

उपयोग-एसडीके टैग

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />

अनुमतियाँ

<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<permission android:name="com.myapp.something.permission.C2D_MESSAGE" android:protectionLevel="signature" />

स्पष्ट रूप से उपयोग-फीचर टैग को झूठी में जोड़ने के बाद यह Asus eeeePad टैबलेट के लिए दिखाई देना शुरू कर दिया लेकिन अभी भी नेक्सस 7 के लिए दिखाई नहीं दे रहा है। डेवलपर कंसोल में मैं जो देखता हूं

यह एप्लिकेशन केवल इन सुविधाओं के साथ उपकरणों के लिए उपलब्ध है, जैसा कि आपके एप्लिकेशन मेनिफेस्ट में परिभाषित किया गया है। स्क्रीन घनत्व: LARGE,MDPI LARGE,HDPI LARGE,LDPI LARGE,XHDPI XLARGE,MDPI XLARGE,HDPI XLARGE,LDPI XLARGE,XHDPI NORMAL,MDPI NORMAL,HDPI NORMAL,XHDPI आवश्यक डिवाइस फीचर्स

android.hardware.screen.portrait
android.hardware.touchscreen



developer.android.com अनुसार

यदि ऐप मैनिफेस्ट में < संगत-स्क्रीन > तत्व घोषित करता है, तो तत्व में उन विशेषताओं को शामिल करना चाहिए जो ऐप का समर्थन करने वाली टेबलेट स्क्रीन के लिए सभी आकार और घनत्व संयोजन निर्दिष्ट करते हैं।

ध्यान दें, यदि संभव हो, तो आपको अपने ऐप में < संगत-स्क्रीन > तत्व का उपयोग करने से बचना चाहिए।

इसलिए, मैं निम्नलिखित कार्यों का पालन करता हूं,

1- मैनिफेस्ट से < संगत स्क्रीन > हटा दिया गया

<compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <screen android:screenSize="small" android:screenDensity="xhdpi" />

    <!--all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen android:screenSize="large" android:screenDensity="213" />

    <screen android:screenSize="normal" android:screenDensity="480" />
    <screen android:screenSize="large" android:screenDensity="480" />
    <screen android:screenSize="xlarge" android:screenDensity="480" />

</compatible-screens>

2- मैनिफेस्ट में < समर्थन-स्क्रीन > विशेषता जोड़ें

    <supports-screens
        android:xlargeScreens="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:anyDensity="true"
    />

3- जोड़ा गया एंड्रॉइड: मैनिफेस्ट में < उपयोग-सुविधा > (मेरी आवेदन आवश्यकता के अनुसार) में आवश्यक = "झूठी" विशेषता

<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.nfc" android:required="false"/>

अनुमतियों के बारे में आधिकारिक एंड्रॉइड दस्तावेज जो केवल फ़ीचर आवश्यकताएं हैं

एंड्रॉइड के बारे में एक और विस्तृत स्पष्टीकरण: आवश्यक झूठी ATTRIBUTES में मौजूद है : एंड्रॉइड: आवश्यक झूठी

जब आप एंड्रॉइड घोषित करते हैं: किसी सुविधा के लिए आवश्यक = "झूठी", इसका मतलब है कि एप्लिकेशन डिवाइस पर मौजूद होने पर सुविधा का उपयोग करना पसंद करता है, लेकिन यदि आवश्यक हो तो निर्दिष्ट सुविधा के बिना इसे फ़ंक्शन करने के लिए डिज़ाइन किया गया है (जो टेलीफ़ोनी अनुमति है गोलियों का मामला)।

उपर्युक्त परिवर्तन करके,

समर्थित एंड्रॉइड डिवाइस सूची में 2000 से अधिक डिवाइस जोड़े गए थे

मुझे आशा है कि वह मदद करेंगे




मुझे इन तीनों चीजों को नेक्सस 7 के लिए काम करने के लिए करना है। एक बार जब आप अपना एपीके अपलोड कर लेंगे, तो आप पहले एपीके को सक्रिय करके सेटिंग को सत्यापित कर सकते हैं, उत्पाद विवरण पर जा सकते हैं और समर्थित उपकरणों की खोज कर सकते हैं। यदि नेक्सस 7 "आपकी मेनिफेस्ट सेटिंग्स के कारण असमर्थित डिवाइस" के अंतर्गत नहीं मिलता है तो आप अच्छे हैं।

नोट: एक बार जब आप अपना एपीके अपलोड कर लेंगे, तो Google Play 213 घनत्व को tvdpi में अनुवाद करेगा। सुनिश्चित नहीं है कि ग्रहण प्रकट उपकरण में कोई विकल्प क्यों नहीं है ...

<compatible-screens>
    ....
    <screen android:screenSize="large" android:screenDensity="213" />
</compatible-screens>

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />



Links