पार्क किए गए ऐप्लिकेशन में Android Auto के साथ काम करने की सुविधा जोड़ना

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

Android Auto के साथ काम करने की सुविधा के बारे में जानकारी देना

यह एलान करने के लिए कि आपका ऐप्लिकेशन Android Auto के साथ काम करता है, आपको अपने ऐप्लिकेशन के मेनिफ़ेस्ट में मौजूद किसी गतिविधि के इंटेंट फ़िल्टर में यह <category> एलिमेंट शामिल करना होगा:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

आम तौर पर, android.intent.category.CAR_LAUNCHER कैटगरी एलिमेंट को android.intent.category.LAUNCHER एलिमेंट की तरह ही इंटेंट फ़िल्टर में रखा जा सकता है. हालांकि, अगर चाहें, तो इसे किसी दूसरे इंटेंट फ़िल्टर में भी रखा जा सकता है.

कैटगरी के हिसाब से मेनिफ़ेस्ट एंट्री

ऊपर बताई गई ज़रूरी शर्त के अलावा, गेम के लिए एक और ज़रूरी शर्त है. अपने ऐप्लिकेशन को गेम के तौर पर मार्क करना लेख पढ़ें.

Android Auto की स्क्रीन के सामान्य साइज़ के साथ काम करता हो

हमारा सुझाव है कि आप अपने ऐप्लिकेशन को अलग-अलग स्क्रीन साइज़ के हिसाब से पूरी तरह से अडैप्टिव बनाएं, ताकि उपयोगकर्ताओं को बेहतरीन अनुभव मिल सके. Android Auto की सुविधा के साथ काम करने वाली अलग-अलग कारों में अच्छी क्वालिटी का अनुभव देने के लिए, ऐप्लिकेशन को लैंडस्केप स्क्रीन पर पिलरबॉक्स नहीं किया जाना चाहिए. DO-2 कार ऐप्लिकेशन की क्वालिटी से जुड़े दिशा-निर्देश में इस बारे में बताया गया है.

उदाहरण के लिए, अगर कोई ऐप्लिकेशन लैंडस्केप स्क्रीन पर पिलरबॉक्सिंग के साथ पोर्ट्रेट आसपेक्ट रेशियो में चलता है, तो Play Store की समीक्षा के दौरान उसे अस्वीकार कर दिया जाएगा. लैंडस्केप स्क्रीन पर लैंडस्केप आसपेक्ट रेशियो में चलने वाले ऐप्लिकेशन में पिलरबॉक्सिंग कम से कम होनी चाहिए. साथ ही, पोर्ट्रेट स्क्रीन पर लैंडस्केप आसपेक्ट रेशियो में चलने वाले ऐप्लिकेशन में लेटरबॉक्सिंग होनी चाहिए.

कैननिकल स्क्रीन साइज़ के हिसाब से टेस्ट करना

Android Auto के लिए ऐप्लिकेशन बनाते और उसकी टेस्टिंग करते समय, यहां दिए गए डेस्कटॉप हेड यूनिट (डीएचयू) कॉन्फ़िगरेशन का इस्तेमाल किया जा सकता है. इससे यह पुष्टि की जा सकती है कि आपका ऐप्लिकेशन ऊपर दी गई ज़रूरी शर्तों को पूरा करता है:

छोटा लैंडस्केप

[general]
resolution = 800x480
dpi = 160
...

वाइड लैंडस्केप

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

पोर्ट्रेट

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

Android Auto पर ऐप्लिकेशन के इस्तेमाल का पता लगाना

अगर आपको यह पता लगाना है कि Android Auto के ज़रिए आपके ऐप्लिकेशन का इस्तेमाल कब किया जा रहा है (जैसे, आंकड़ों के लिए), तो इन दो सिग्नल को देखें:

  • CarConnection API से मिली कनेक्शन की स्थिति. Android Auto कनेक्ट होने पर, यह CONNECTION_TYPE_PROJECTION होगा.
  • चालू डिसप्ले का डिसप्ले आईडी. जब आपका ऐप्लिकेशन, बिल्ट-इन स्क्रीन के अलावा किसी अन्य डिसप्ले पर चल रहा हो, जैसे कि Android Auto के ज़रिए इस्तेमाल किए जाने पर, यह DEFAULT_DISPLAY के अलावा कोई अन्य वैल्यू होती है.

यहां दिए गए स्निपेट में, Android Auto के ज़रिए ऐप्लिकेशन के इस्तेमाल का पता लगाने के लिए, इन सिग्नल को एक साथ इस्तेमाल करने का तरीका बताया गया है:

val connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY