प्रॉडक्ट से जुड़ी खबरें
Android की ज़रूरी जानकारी में शामिल वेक लॉक मेट्रिक का इस्तेमाल करके, अपने ऐप्लिकेशन की बैटरी ऑप्टिमाइज़ करना
सात मिनट में पढ़ें
बैटरी लाइफ़, उपयोगकर्ता अनुभव का एक अहम पहलू है. वेक लॉक इसमें अहम भूमिका निभाते हैं. क्या आपने इनका बहुत ज़्यादा इस्तेमाल किया है? इस ब्लॉग पोस्ट में हम जानेंगे कि वेक लॉक क्या होते हैं, इनका इस्तेमाल करने के कुछ सबसे सही तरीके क्या हैं, और Play Console मेट्रिक की मदद से अपने ऐप्लिकेशन के व्यवहार को बेहतर तरीके से कैसे समझा जा सकता है.
Android की ज़रूरी जानकारी में पार्शियल वेक लॉक का ज़्यादा इस्तेमाल
Play Console अब बैटरी खत्म होने की समस्या पर नज़र रखता है. इसमें परफ़ॉर्मेंस के मुख्य इंडिकेटर के तौर पर, पार्शियल वेक लॉक का ज़्यादा इस्तेमाल पर फ़ोकस किया जाता है.
इस सुविधा से, बैटरी की परफ़ॉर्मेंस को बेहतर बनाने पर ज़्यादा ध्यान दिया जाता है. साथ ही, मौजूदा मुख्य मेट्रिक के स्टेबिलिटी इंडिकेटर पर भी ध्यान दिया जाता है. जैसे, यूज़र पर्सीव्ड क्रैश और एएनआर की ज़्यादा संख्या. हमने वेक लॉक के ज़्यादा इस्तेमाल के लिए, ऐप्लिकेशन की खराब परफ़ॉर्मेंस का थ्रेशोल्ड तय किया है. अगर 1 मार्च, 2026 से आपका टाइटल इस क्वालिटी थ्रेशोल्ड को पूरा नहीं करता है, तो हम टाइटल को खोज के प्रमुख प्लैटफ़ॉर्म से हटा सकते हैं. जैसे, सुझाव. कुछ मामलों में, हम आपके स्टोर पेज पर एक चेतावनी दिखा सकते हैं. इससे लोगों को पता चलेगा कि आपके ऐप्लिकेशन की वजह से बैटरी ज़्यादा खर्च हो सकती है.
Android की ज़रूरी जानकारी देने वाले पेज पर, वेक लॉक के ज़्यादा इस्तेमाल से जुड़ी चेतावनी.
मोबाइल डिवाइसों के लिए, Android vitals मेट्रिक उन वेक लॉक पर लागू होती है जिन्हें स्क्रीन बंद होने पर हासिल किया जाता है. साथ ही, ऐप्लिकेशन बैकग्राउंड में चल रहा हो या फ़ोरग्राउंड सेवा चला रहा हो. Android की ज़रूरी जानकारी देने वाली मेट्रिक के मुताबिक, पार्शियल वेक लॉक का इस्तेमाल ज़्यादा माना जाता है, अगर:
- वेक लॉक को 24 घंटे की अवधि में कम से कम दो घंटे तक रखा जाता है.
- इससे आपके ऐप्लिकेशन के 5% से ज़्यादा सेशन पर असर पड़ता है. यह औसत 28 दिनों के हिसाब से निकाला जाता है.
ऑडियो, जगह की जानकारी, और JobScheduler के उपयोगकर्ता की ओर से शुरू किए गए एपीआई से बनाए गए वेक लॉक को वेक लॉक के समय की गिनती से बाहर रखा गया है.
वेक लॉक के बारे में जानकारी
वेक लॉक एक ऐसा तरीका है जिसकी मदद से कोई ऐप्लिकेशन, डिवाइस के सीपीयू को चालू रख सकता है. भले ही, उपयोगकर्ता डिवाइस का इस्तेमाल न कर रहा हो.
पार्शियल वेक लॉक, स्क्रीन बंद होने पर भी सीपीयू को चालू रखता है. इससे सीपीयू, कम पावर वाले "सस्पेंड" मोड में नहीं जाता. फ़ुल वेक लॉक, स्क्रीन और सीपीयू, दोनों को चालू रखता है.
पार्शियल वेक लॉक पाने के दो तरीके हैं:
- ऐप्लिकेशन, PowerManager एपीआई का इस्तेमाल करके, किसी खास इस्तेमाल के उदाहरण के लिए वेक लॉक को मैन्युअल तरीके से हासिल करता है और रिलीज़ करता है. अक्सर, इसे फ़ोरग्राउंड सेवा के साथ हासिल किया जाता है. यह प्लैटफ़ॉर्म के लाइफ़साइकल का एपीआई है. इसका मकसद, उपयोगकर्ता को दिखने वाली कार्रवाई करना है.
- इसके अलावा, वेक लॉक को किसी अन्य एपीआई से हासिल किया जाता है. साथ ही, एपीआई के इस्तेमाल की वजह से इसे ऐप्लिकेशन से जोड़ा जाता है. इसके बारे में ज़्यादा जानने के लिए, सबसे सही तरीकों वाला सेक्शन देखें.
वेक लॉक, उपयोगकर्ता की ओर से शुरू की गई किसी बड़ी फ़ाइल को डाउनलोड करने जैसे कामों के लिए ज़रूरी होते हैं. हालांकि, इनका ज़्यादा या गलत इस्तेमाल करने से बैटरी तेज़ी से खत्म हो सकती है. हमने ऐसे मामले देखे हैं जिनमें ऐप्लिकेशन, वेक लॉक को कई घंटों तक बनाए रखते हैं या उन्हें सही तरीके से रिलीज़ नहीं करते हैं. इससे बैटरी बहुत ज़्यादा खर्च होती है. भले ही, उपयोगकर्ता ऐप्लिकेशन का इस्तेमाल न कर रहा हो. ऐसे में, उपयोगकर्ता शिकायतें करते हैं.
वेक लॉक इस्तेमाल करने के सबसे सही तरीके
वेक लॉक के ज़्यादा इस्तेमाल की वजह से होने वाली समस्याओं को डीबग करने का तरीका जानने से पहले, पक्का करें कि आपने वेक लॉक से जुड़े सबसे सही तरीके अपनाए हों.
इन चार अहम सवालों पर ध्यान दें.
1. क्या आपने वेक लॉक के अन्य विकल्पों के बारे में सोचा है?
मैन्युअल तरीके से कुछ समय के लिए वेक लॉक चालू करने से पहले, फ़ैसले लेने से जुड़ा यह फ़्लोचार्ट देखें:
वेक लॉक को मैन्युअल तरीके से कब हासिल करना है, यह तय करने के लिए फ़्लोचार्ट
- क्या स्क्रीन को चालू रखना ज़रूरी है?
- हां: इसके बजाय, स्क्रीन चालू रखना से जुड़ा दस्तावेज़ देखें
- क्या ऐप्लिकेशन, फ़ोरग्राउंड सेवा चला रहा है?
- नहीं: आपको वेक लॉक को मैन्युअल तरीके से हासिल करने की ज़रूरत नहीं है.
- क्या डिवाइस के निलंबित होने से, उपयोगकर्ता अनुभव पर बुरा असर पड़ता है?
- नहीं: उदाहरण के लिए, डिवाइस के चालू होने के बाद सूचना को अपडेट करने के लिए, वेक लॉक की ज़रूरत नहीं होती.
- हां: अगर डिवाइस को निलंबित होने से रोकना ज़रूरी है, जैसे कि किसी बाहरी डिवाइस के साथ लगातार कम्यूनिकेट करना, तो आगे बढ़ें.
- क्या कोई एपीआई पहले से ही आपके डिवाइस को चालू रखता है?
- अन्य एपीआई से बनाए गए वेक लॉक की पहचान करना दस्तावेज़ का इस्तेमाल करके, उन स्थितियों की पहचान की जा सकती है जहां अन्य एपीआई से वेक लॉक बनाए जाते हैं. जैसे, LocationManager.
- अगर कोई एपीआई मौजूद नहीं है, तो आखिरी सवाल पर जाएं.
- अगर आपने इन सभी सवालों के जवाब दे दिए हैं और आपको कोई दूसरा विकल्प नहीं मिला है, तो आपको वेक लॉक को मैन्युअल तरीके से हासिल करना चाहिए.
2. क्या आपने वेक लॉक का नाम सही तरीके से दिया है?
वेक लॉक को मैन्युअल तरीके से हासिल करते समय, डीबग करने के लिए सही नाम देना ज़रूरी है:
- नाम में, व्यक्तिगत पहचान से जुड़ी कोई भी जानकारी (पीआईआई) शामिल न करें. जैसे, ईमेल पते. अगर PII का पता चलता है, तो वेक लॉक को
_UNKNOWNके तौर पर लॉग किया जाता है. इससे डीबग करने में मुश्किल होती है. - क्लास या तरीके के नामों का इस्तेमाल करके, वेक लॉक को प्रोग्राम के हिसाब से नाम न दें. ऐसा इसलिए, क्योंकि Proguard जैसे टूल इन नामों को अस्पष्ट कर सकते हैं. इसके बजाय, हार्ड-कोड की गई स्ट्रिंग का इस्तेमाल करें.
- वेक लॉक टैग में काउंटर या यूनीक आइडेंटिफ़ायर न जोड़ें. वेक लॉक के हर बार चलने पर, एक ही टैग का इस्तेमाल किया जाना चाहिए. इससे सिस्टम को नाम के हिसाब से इस्तेमाल की जानकारी इकट्ठा करने में मदद मिलती है. साथ ही, असामान्य व्यवहार का पता लगाना आसान हो जाता है.
3. क्या वेक लॉक हमेशा रिलीज़ किया जाता है?
अगर वेक लॉक को मैन्युअल तरीके से हासिल किया जा रहा है, तो पक्का करें कि वेक लॉक रिलीज़ हमेशा काम करे. वेक लॉक को रिलीज़ न करने पर, बैटरी तेज़ी से खत्म हो सकती है.
उदाहरण के लिए, अगर processingWork() के दौरान कोई ऐसा अपवाद थ्रो किया जाता है जिसे पकड़ा नहीं गया है, तो हो सकता है कि release() कॉल कभी न हो. इसके बजाय, try-finally ब्लॉक का इस्तेमाल किया जा सकता है. इससे यह पक्का किया जा सकता है कि वेक लॉक रिलीज़ हो गया है. भले ही, कोई अपवाद हुआ हो.
इसके अलावा, वेक लॉक में टाइमआउट जोड़ा जा सकता है, ताकि यह तय समय के बाद रिलीज़ हो जाए. इससे इसे अनिश्चित काल तक रोके जाने से रोका जा सकेगा.
fun processingWork() {
wakeLock.apply {
try {
acquire(60 * 10 * 1000) // timeout after 10 minutes
doTheWork()
} finally {
release()
}
}
}4. क्या तुम डिवाइस के चालू होने की फ़्रीक्वेंसी कम कर सकती हो?
समय-समय पर डेटा के अनुरोध करने वाले ऐप्लिकेशन के लिए, बैटरी ऑप्टिमाइज़ेशन के लिए यह ज़रूरी है कि आपका ऐप्लिकेशन डिवाइस को कम बार चालू करे. डिवाइस के चालू होने की फ़्रीक्वेंसी कम करने के कुछ उदाहरण:
- WorkManager: PeriodicWorkRequest में बार-बार होने वाले इंटरवल को बढ़ाएं.
- SensorManager: लिसनर को रजिस्टर करते समय, maxReportLatencyMs तय करके बैचिंग का फ़ायदा पाएं.
- कई तरह से जांची गई सही जगह की जानकारी देने वाला एपीआई:
- सबसे हाल ही की कैश मेमोरी में सेव की गई जगह की जानकारी के लिए, getLastLocation का इस्तेमाल करके, जगह की जानकारी पाने की फ़्रीक्वेंसी कम करें.
- बैटरी की खपत कम करने वाले अपडेट के तरीके के लिए, setPriority(PRIORITY_PASSIVE) का इस्तेमाल करें.
- इसके अलावा, setMinUpdateIntervalMillis का इस्तेमाल करके, अपडेट करने का कम से कम इंटरवल सेट किया जा सकता है. इससे, जगह की जानकारी को बैच में अपडेट करने की सुविधा का फ़ायदा मिलता है.
ज़्यादा जानकारी के लिए, वेक लॉक से जुड़े सबसे सही तरीकों के बारे में जानकारी देने वाला दस्तावेज़ देखें.
वेक लॉक के ज़्यादा इस्तेमाल की समस्या को ठीक करना
बेहतरीन इरादे होने के बावजूद, वेक लॉक का बहुत ज़्यादा इस्तेमाल हो सकता है. अगर Play Console में आपके ऐप्लिकेशन को फ़्लैग किया गया है, तो उसे डीबग करने का तरीका यहां दिया गया है:
Play Console में शुरुआती पहचान
Android vitals के 'पार्शियल वेक लॉक का ज़्यादा इस्तेमाल' डैशबोर्ड में, वेक लॉक के उन नामों की जानकारी दी जाती है जिन्हें छूट नहीं मिली है. ये नाम आपके ऐप्लिकेशन से जुड़े होते हैं. साथ ही, इससे प्रभावित सेशन और उनकी अवधि भी दिखाई जाती है. दस्तावेज़ का इस्तेमाल करने के लिए रिमाइंडर. इससे यह पता लगाने में मदद मिलती है कि वेक लॉक का नाम, ऐप्लिकेशन के पास है या किसी अन्य एपीआई के पास है.
Android की ज़रूरी जानकारी वाले डैशबोर्ड में, पार्शियल वेक लॉक के ज़्यादा इस्तेमाल की जानकारी देने वाले सेक्शन को नीचे की ओर स्क्रोल करके, वेक लॉक के ज़्यादा इस्तेमाल वाले टैग देखे जा सकते हैं.
वर्कर्स/जॉब के ज़रिए रखे गए ज़्यादा वेक लॉक को डीबग करना
इस वेक लॉक के नाम से, वर्कर के पास मौजूद वेक लॉक की पहचान की जा सकती है:
*job*/<package_name>/androidx.work.impl.background.systemjob.SystemJobService
वर्कर के पास मौजूद वेक लॉक के नामों की पूरी सूची, दस्तावेज़ में उपलब्ध है. इन वेक लॉक को डीबग करने के लिए, बैकग्राउंड की जांच करने वाले टूल का इस्तेमाल करके स्थानीय तौर पर डीबग किया जा सकता है. इसके अलावा, फ़ील्ड में समस्याओं को डीबग करने के लिए, getStopReason का इस्तेमाल किया जा सकता है.
Android Studio में बैकग्राउंड टास्क की जांच करने वाला टूल
बैकग्राउंड टास्क की जांच करने वाले टूल का स्क्रीन कैप्चर. इसमें “WeatherSyncWorker” नाम के वर्कर की पहचान की गई है. यह वर्कर, बार-बार कोशिश करने के बाद भी काम नहीं कर सका.
WorkManager से जुड़ी समस्याओं को स्थानीय तौर पर डीबग करने के लिए, इस टूल का इस्तेमाल एम्युलेटर या कनेक्ट किए गए डिवाइस (एपीआई लेवल 26+) पर करें. यह टूल, वर्कर और उनकी स्थितियों (पूरा हो गया, चल रहा है, लाइन में लगा है) की सूची दिखाता है. इससे आपको वर्कर की जानकारी देखने और वर्कर चेन को समझने में मदद मिलती है.
उदाहरण के लिए, इससे यह पता चल सकता है कि सिस्टम की सीमाओं की वजह से, कोई वर्कर बार-बार फ़ेल हो रहा है या फिर से कोशिश कर रहा है.
ज़्यादा जानकारी के लिए, बैकग्राउंड टास्क इंस्पेक्टर का दस्तावेज़ देखें.
WorkManager getStopReason
अगर वर्कर बहुत ज़्यादा वेक लॉक का इस्तेमाल कर रहे हैं, तो फ़ील्ड में उनकी डीबगिंग के लिए, WorkManager 2.9.0 या इसके बाद के वर्शन पर WorkInfo.getStopReason() का इस्तेमाल करें. इसके अलावा, JobScheduler के लिए, SDK 31 या इसके बाद के वर्शन पर उपलब्ध JobParameters.getStopReason() का इस्तेमाल करें.
इस एपीआई की मदद से, यह लॉग किया जा सकता है कि वर्कर ने काम क्यों बंद कर दिया. उदाहरण के लिए, STOP_REASON_TIMEOUT, STOP_REASON_QUOTA. इससे उन समस्याओं का पता लगाने में मदद मिलती है जिनकी वजह से वर्कर ने काम बंद कर दिया. जैसे, रनटाइम की अवधि खत्म होने की वजह से बार-बार टाइमआउट होना.
backgroundScope.launch {
WorkManager.getInstance(context)
.getWorkInfoByIdFlow(workRequest.id)
.collect { workInfo ->
logStopReason(workRequest.id, workInfo?.stopReason)
}
}ज़्यादा जानकारी के लिए, टास्क शेड्यूल करने वाले एपीआई के लिए बैटरी के इस्तेमाल को ऑप्टिमाइज़ करना लेख पढ़ें.
ज़्यादा वेक लॉक की अन्य समस्याओं को डीबग करना
अगर आपको ऐसे मुश्किल मामलों को डीबग करना है जिनमें वेक लॉक को मैन्युअल तरीके से होल्ड किया गया है या एपीआई वेक लॉक को होल्ड कर रहे हैं, तो हमारा सुझाव है कि आप सिस्टम ट्रेस कलेक्शन का इस्तेमाल करें.
सिस्टम ट्रेस इकट्ठा करना
सिस्टम ट्रेस एक असरदार डीबगिंग टूल है. यह एक तय अवधि में सिस्टम की गतिविधि का पूरा रिकॉर्ड कैप्चर करता है. इससे सीपीयू की स्थिति, थ्रेड गतिविधि, नेटवर्क गतिविधि, और बैटरी से जुड़ी मेट्रिक के बारे में अहम जानकारी मिलती है. जैसे, जॉब की अवधि और वेक लॉक का इस्तेमाल.
सिस्टम ट्रेस को कई तरीकों से कैप्चर किया जा सकता है:
- सिस्टम ट्रेस कमांड लाइन टूल का इस्तेमाल करना
- Android Studio CPU Profiler का इस्तेमाल करना
- Perfetto यूज़र इंटरफ़ेस का इस्तेमाल करना
- डिवाइस पर मैन्युअल तरीके से ट्रेस रिकॉर्ड करना. इसके लिए, सीधे डेवलपर विकल्पों से ट्रेस रिकॉर्ड करें.
Android ऐप्लिकेशन और सेवाओं वाले टैब में जाकर, Perfetto के यूज़र इंटरफ़ेस (यूआई) में "power:PowerManagement" Atrace कैटगरी चालू करें.
चुने गए तरीके से कोई फ़र्क़ नहीं पड़ता. डिवाइस की स्थिति के ट्रैक देखने की सुविधा चालू करने के लिए, यह पक्का करना ज़रूरी है कि आपने "power:PowerManagement" Atrace कैटगरी को इकट्ठा किया हो.
Perfetto यूज़र इंटरफ़ेस (यूआई) की जांच और एसक्यूएल विश्लेषण
सिस्टम ट्रेस को Perfetto यूज़र इंटरफ़ेस (यूआई) में खोला और देखा जा सकता है. ट्रेस खोलने पर, आपको टाइमलाइन पर अलग-अलग प्रोसेस का विज़ुअलाइज़ेशन दिखेगा. इस गाइड में, हम “डिवाइस की स्थिति” में मौजूद ट्रैक पर फ़ोकस करेंगे.
“डिवाइस की स्थिति” में मौजूद ट्रैक पिन करें. जैसे, "टॉप ऐप्लिकेशन", "स्क्रीन की स्थिति", "लंबे समय तक वेक लॉक", और “जॉब” ट्रैक. इससे लंबे समय तक वेक लॉक स्लाइस की पहचान करने में मदद मिलती है.
हर ब्लॉक में इवेंट का नाम, इवेंट के शुरू होने का समय, और इवेंट के खत्म होने का समय दिखता है. Perfetto में, इसे स्लाइस कहा जाता है.
एक से ज़्यादा ट्रेस का बड़े पैमाने पर विश्लेषण करने के लिए, Perfetto के एसक्यूएल विश्लेषण का इस्तेमाल किया जा सकता है. एसक्यूएल क्वेरी से, अवधि के हिसाब से क्रम में लगाए गए सभी वेक लॉक का पता लगाया जा सकता है. इससे, ज़्यादा बैटरी इस्तेमाल करने वाले ऐप्लिकेशन की पहचान करने में मदद मिलती है.
यहां एक उदाहरण क्वेरी दी गई है. इसमें सिस्टम ट्रेस में मौजूद सभी वेक लॉक टैग को कुल अवधि के हिसाब से क्रम में लगाया गया है:
SELECT slice.name as name, track.name as track_name,SUM(dur / 100000) as total_dur_ms FROM slice JOIN track ON slice.track_id = track.id WHERE track.name = 'WakeLocks'GROUP BY slice.name, track.name ORDER BY total_dur_ms DESC
फ़ील्ड में ट्रेस इकट्ठा करने के लिए, ProfilingManager का इस्तेमाल करना
जिन समस्याओं को दोहराना मुश्किल होता है उनके लिए, ProfilingManager (SDK 35 में जोड़ा गया) एक प्रोग्रामैटिक एपीआई है. इससे डेवलपर, फ़ील्ड में सिस्टम ट्रेस इकट्ठा कर सकते हैं. इसके लिए, उन्हें शुरू और खत्म होने वाले ट्रिगर का इस्तेमाल करना होगा. इससे, प्रोफ़ाइल कलेक्शन के लिए स्टार्ट और एंड ट्रिगर पॉइंट पर ज़्यादा कंट्रोल मिलता है. साथ ही, यह डिवाइस की परफ़ॉर्मेंस पर असर पड़ने से रोकने के लिए, सिस्टम-लेवल की दर सीमा लागू करता है.
फ़ील्ड सिस्टम ट्रेस कलेक्शन को लागू करने के तरीके के बारे में ज़्यादा जानने के लिए, ProfilingManager का दस्तावेज़ देखें. इसमें, प्रोग्राम के हिसाब से ट्रेस कैप्चर करने, प्रोफ़ाइलिंग डेटा का विश्लेषण करने, और स्थानीय डीबग कमांड का इस्तेमाल करने के तरीके के बारे में बताया गया है.
ProfilingManager का इस्तेमाल करके इकट्ठा किए गए सिस्टम ट्रेस, मैन्युअल तरीके से इकट्ठा किए गए ट्रेस की तरह दिखेंगे. हालांकि, सिस्टम प्रोसेस और अन्य ऐप्लिकेशन प्रोसेस को ट्रेस से हटा दिया जाता है.
नतीजा
Android की ज़रूरी जानकारी में मौजूद, ज़्यादा पार्शियल वेक लॉक की मेट्रिक, बैटरी की खपत कम करने और ऐप्लिकेशन की क्वालिटी को बेहतर बनाने के लिए, डेवलपर की मदद करने की हमारी प्रतिबद्धता का सिर्फ़ एक छोटा सा हिस्सा है.
वेक लॉक को समझकर और उन्हें सही तरीके से लागू करके, अपने ऐप्लिकेशन की बैटरी परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. Google Play पर अपने ऐप्लिकेशन की सफलता को पक्का करने के लिए, इन बातों का ध्यान रखना ज़रूरी है: वैकल्पिक एपीआई का इस्तेमाल करना, वेक लॉक के सबसे सही तरीकों का पालन करना, और Background Task Inspector, सिस्टम ट्रेस, और ProfilingManager जैसे बेहतर डिबगिंग टूल का इस्तेमाल करना.
पढ़ना जारी रखें
-
प्रॉडक्ट से जुड़ी खबरें
हमें यह बताते हुए खुशी हो रही है कि Android XR के लिए, Unreal Engine और Godot के साथ काम करने की सुविधा उपलब्ध हो गई है. हम आपकी प्रॉडक्टिविटी बढ़ाने और नई XR सुविधाएं चालू करने के लिए, नए टूल भी लॉन्च कर रहे हैं: Android XR Engine Hub और Android XR Interaction Framework.
Luke Hopkins • 4 मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
Android 17 के रिलीज़ होने के साथ ही, हम अडैप्टिव फ़र्स्ट डेवलपमेंट स्टैंडर्ड पर माइग्रेट कर रहे हैं. आपके उपयोगकर्ता अब सिर्फ़ एक तरह के डिवाइस का इस्तेमाल नहीं करते. वे दिन भर में फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, लैपटॉप, कार में लगे डिसप्ले, और इमर्सिव XR एनवायरमेंट के बीच स्विच करते रहते हैं.
Fahd Imtiaz • 4 मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
हमें Google TV की सुविधाओं और डेवलपर टूल के बारे में बताते हुए बेहद खुशी हो रही है. इन्हें इस तरह से डिज़ाइन किया गया है कि आपके कॉन्टेंट की खोज के नतीजे ज़्यादा लोगों को दिखें. साथ ही, आने वाले समय में टीवी पर मिलने वाले अनुभवों के लिए आपका ऐप्लिकेशन तैयार हो सके.
Paul Lammertsma • 4 मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.