Chromebook के लिए ऐप्लिकेशन मेनिफ़ेस्ट की संगतता

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

मेनिफ़ेस्ट फ़ाइल में, हार्डवेयर की सुविधाओं और कुछ सॉफ़्टवेयर की सुविधाओं के लिए, अपने ऐप्लिकेशन की ज़रूरी शर्तों का एलान किया जाता है. इस दस्तावेज़ में, ऐप्लिकेशन मेनिफ़ेस्ट की सुविधाओं के उन एलान के बारे में बताया गया है जो Chromebook के साथ काम नहीं करते.

मेनिफ़ेस्ट की ऐसी एंट्री जो काम नहीं करतीं

इस सेक्शन में दी गई मेनिफ़ेस्ट एंट्री, Chromebook के साथ काम नहीं करतीं. अगर आपका ऐप्लिकेशन इनमें से किसी भी एंट्री का इस्तेमाल करता है, तो उन्हें हटाने या उनमें required="false" एट्रिब्यूट की वैल्यू शामिल करने पर विचार करें, ताकि आपका ऐप्लिकेशन Chromebook पर इंस्टॉल किया जा सके.

डिवाइस पर सुविधा उपलब्ध होने की ज़रूरत के बिना, सुविधा के इस्तेमाल के बारे में बताने के बारे में ज़्यादा जानने के लिए, <uses-feature> मेनिफ़ेस्ट एलिमेंट के लिए बनी गाइड देखें. ऐप्लिकेशन मेनिफ़ेस्ट की सुविधाओं और उनके ब्यौरे की पूरी सूची के लिए, सुविधाओं का रेफ़रंस देखें .

ध्यान दें: Android Studio 2.3 और उसके बाद के वर्शन में, मेनिफ़ेस्ट फ़ाइल की पुष्टि अपने-आप करने के लिए, लिंटर की जांच करने की सुविधा पहले से मौजूद है. Android Studio में, फ़ाइल > सेटिंग > एडिटर > जांच > Android > Lint > सही > ChromeOS चुनें.

हार्डवेयर की सुविधाएं

Chromebook पर हार्डवेयर की सुविधाएं अलग-अलग तरह से काम करती हैं. कुछ सुविधाएं, किसी भी Chromebook पर काम नहीं करतीं. वहीं, कुछ सुविधाएं सिर्फ़ कुछ Chromebook पर काम करती हैं.

खास सुविधाएं

Chromebook पर हार्डवेयर की बेहतर सहायता के लिए, android.hardware.type.pc माउस और टचपैड के लिए इनपुट इम्यूलेशन की सुविधा बंद कर देता है. आपको इस एंट्री के लिए required="false" को चुनना होगा. ऐसा न करने पर, आपका ऐप्लिकेशन सिर्फ़ Chromebook पर चलेगा.

हार्डवेयर की ऐसी सुविधाएं जो काम नहीं करतीं

इस सूची में, हार्डवेयर की ऐसी सुविधाएं शामिल हैं जो Chromebook पर काम नहीं करतीं:

  • android.hardware.camera: पीछे वाला कैमरा
  • android.hardware.camera.autofocus: ऑटोफ़ोकस का इस्तेमाल करने वाला कैमरा
  • android.hardware.camera.capability.manual_post_processing: MANUAL_POST_PROCESSING सुविधा का इस्तेमाल करने वाला कैमरा, जिसमें ऑटो व्हाइट बैलेंस को बदलने की सुविधा भी शामिल हो
  • android.hardware.camera.capability.manual_sensor: ऐसा कैमरा जिसमें MANUAL_SENSOR सुविधा का इस्तेमाल किया जाता है. इसमें ऑटो-एक्सपोज़र लॉक करने की सुविधा भी शामिल है
  • android.hardware.camera.capability.raw: ऐसा कैमरा जो RAW सुविधा का इस्तेमाल करता है. इसमें DNG (रॉ) फ़ाइलें सेव करने और DNG से जुड़ा मेटाडेटा देने की सुविधा भी शामिल है
  • android.hardware.camera.flash: फ़्लैश का इस्तेमाल करने वाला कैमरा
  • android.hardware.camera.level.full: ऐसा कैमरा जो FULL-लेवल की इमेज कैप्चर करने की सुविधा का इस्तेमाल करता है
  • android.hardware.consumerir: इंफ़्रारेड (आईआर)
  • android.hardware.location.gps: ग्लोबल पोज़िशनिंग सिस्टम (जीपीएस)
  • android.hardware.nfc: नियर-फ़ील्ड कम्यूनिकेशन (एनएफ़सी)
  • android.hardware.nfc.hce: एनएफ़सी कार्ड इम्यूलेशन, जिसे बंद कर दिया गया है
  • android.hardware.sensor.barometer: बैरोमीटर (हवा का दबाव)
  • android.hardware.telephony: टेलीफ़ोन सेवाएं, जिनमें डेटा कम्यूनिकेशन सेवाओं के साथ रेडियो भी शामिल है
  • android.hardware.telephony.cdma: टेलीफ़ोनी कोड डिवीज़न मल्टीपल ऐक्सेस (सीडीएमए) नेटवर्क के साथ काम करना
  • android.hardware.telephony.gsm: टेलीफ़ोनी ग्लोबल सिस्टम फ़ॉर मोबाइल कम्यूनिकेशन (जीएसएम) नेटवर्क के लिए सहायता
  • android.hardware.type.automotive: Android Automotive OS डिवाइस
  • android.hardware.type.television: टेलीविज़न, जिसका इस्तेमाल अब नहीं किया जा सकता
  • android.hardware.usb.accessory: यूएसबी ऐक्सेसरी मोड
  • android.hardware.usb.host: यूएसबी होस्ट मोड

कुछ हद तक काम करने वाली हार्डवेयर सुविधाएं

यहां दी गई सूची में, हार्डवेयर की ऐसी सुविधाएं शामिल हैं जो शायद कुछ Chromebooks पर उपलब्ध हों:

  • android.hardware.sensor.accelerometer: एक्सलरोमीटर (डिवाइस का ओरिएंटेशन)
  • android.hardware.sensor.compass: कंपास
  • android.hardware.sensor.gyroscope: जाइरोस्कोप (डिवाइस के घूमने और ट्विस्ट होने की जानकारी)
  • android.hardware.sensor.light: लाइट
  • android.hardware.sensor.proximity: उपयोगकर्ता के आस-पास मौजूद लोगों की जानकारी
  • android.hardware.sensor.stepcounter: कदमों की गिनती करने वाला ऐप्लिकेशन
  • android.hardware.sensor.stepdetector: कदमों की गिनती करने वाला डिवाइस

टचस्क्रीन के हार्डवेयर के लिए सहायता

ChromeOS के M53 वर्शन के बाद, ऐसे सभी Android ऐप्लिकेशन, ChromeOS डिवाइसों पर भी काम करते हैं जिनके लिए android.hardware.touchscreen सुविधा की ज़रूरत नहीं होती. हालांकि, इसके लिए ज़रूरी है कि वे डिवाइस, android.hardware.faketouch सुविधा के साथ काम करते हों.

जिन डिवाइसों में फ़ेक टच इंटरफ़ेस होते हैं वे उपयोगकर्ता इनपुट सिस्टम उपलब्ध कराते हैं, जो बुनियादी टच इवेंट को एमुलेट करता है. उदाहरण के लिए, उपयोगकर्ता स्क्रीन पर कर्सर को एक जगह से दूसरी जगह ले जाने, सूची में स्क्रोल करने, और स्क्रीन के एक हिस्से से दूसरे हिस्से में एलिमेंट खींचकर ले जाने के लिए, माउस या रिमोट कंट्रोल का इस्तेमाल कर सकता है.

अगर आपको अपने ऐप्लिकेशन को उन डिवाइसों पर इंस्टॉल नहीं करना है जिनमें फ़ेक टच इंटरफ़ेस तो हैं, लेकिन टचस्क्रीन नहीं हैं, तो इनमें से कोई एक कार्रवाई करें:

  • Google Play Console में, कुछ डिवाइसों को हटाएं.
  • जिन डिवाइसों में टचस्क्रीन हार्डवेयर नहीं है उन्हें फ़िल्टर करने के लिए, अपने ऐप्लिकेशन को इंस्टॉल करने के लिए android.hardware.touchscreen की ज़रूरत है, यह साफ़ तौर पर बताएं.

सॉफ़्टवेयर की सुविधाएं

इस सूची में, सॉफ़्टवेयर की वे सुविधाएं शामिल हैं जो Chromebooks पर काम नहीं करतीं:

  • android.software.app_widgets: होम स्क्रीन पर ऐप्लिकेशन विजेट
  • android.software.device_admin: डिवाइस से जुड़ी नीति का प्रशासन
  • android.software.home_screen: डिवाइस की होम स्क्रीन को बदलता है
  • android.software.input_methods: कस्टम इनपुट के तरीके ( InputMethodService के इंस्टेंस)
  • android.software.leanback: बड़ी स्क्रीन पर देखने के लिए डिज़ाइन किया गया यूज़र इंटरफ़ेस (यूआई)
  • android.software.live_wallpaper: ऐनिमेशन वाले वॉलपेपर
  • android.software.live_tv: लाइव टीवी प्रोग्राम स्ट्रीम करना
  • android.software.managed_users: सेकंडरी उपयोगकर्ता और मैनेज की जा रही प्रोफ़ाइलें
  • android.software.sip: सेशन इनिशिएशन प्रोटोकॉल (एसआईपी) सेवा, जो वीडियो कॉन्फ़्रेंसिंग और इंस्टैंट मैसेजिंग की सुविधा देती है
  • android.software.sip.voip: एसआईपी पर आधारित वॉइस ओवर इंटरनेट प्रोटोकॉल (वीओआईपी) सेवा, जो दोतरफ़ा वीडियो कॉन्फ़्रेंसिंग के साथ काम करती है

ऐसी अनुमतियां जिनसे सुविधा से जुड़ी ज़रूरी शर्तों का पता चलता है

मेनिफ़ेस्ट फ़ाइलों में कुछ अनुमतियों का अनुरोध करने पर, हार्डवेयर और सॉफ़्टवेयर की सुविधाओं के लिए अनुरोध अपने-आप हो सकते हैं. इन अनुमतियों का अनुरोध करने पर, आपके ऐप्लिकेशन को Chromebook पर इंस्टॉल होने से रोका जा सकता है.

अनुमति के अनुरोधों की वजह से, Chromebook पर आपके ऐप्लिकेशन के उपलब्ध न होने से रोकने के तरीके के बारे में जानने के लिए, इस पेज पर काम न करने वाली मेनिफ़ेस्ट एंट्री सेक्शन देखें.

यहां दी गई टेबल में, ऐसी अनुमतियां दिखाई गई हैं जिनसे यह पता चलता है कि ऐप्लिकेशन में कौनसी सुविधाएं मौजूद हैं. इन सुविधाओं की वजह से, ऐप्लिकेशन Chromebooks पर काम नहीं करता:

टेबल 1. डिवाइस की ऐसी अनुमतियां जिनसे Chromebook के साथ काम न करने वाली हार्डवेयर सुविधाओं का पता चलता हो.

कैटगरी यह अनुमति इस सुविधा के लिए ज़रूरी शर्त
कैमरा CAMERA android.hardware.camera और
android.hardware.camera.autofocus
टेलीफ़ोनी CALL_PHONE android.hardware.telephony
CALL_PRIVILEGED android.hardware.telephony
MODIFY_PHONE_STATE android.hardware.telephony
PROCESS_OUTGOING_CALLS android.hardware.telephony
READ_SMS android.hardware.telephony
RECEIVE_SMS android.hardware.telephony
RECEIVE_MMS android.hardware.telephony
RECEIVE_WAP_PUSH android.hardware.telephony
SEND_SMS android.hardware.telephony
WRITE_APN_SETTINGS android.hardware.telephony
WRITE_SMS android.hardware.telephony