OTA के अपडेट

बॉक्स में नहीं, Glass Enterprise कई तरह का अपडेट देता है. हालांकि, आपके लिए बेसिक OTA अपडेट कॉन्फ़िगर करना मुमकिन है. EE2 OTA अपडेट की सुविधा से, डिवाइस के मालिक को ओवर द एयर (OTA) के अपडेट इस तरह से कंट्रोल करने मिलते हैं:

  • यह कंट्रोल करने के लिए कि अपडेट को कहां सेव किया जाए.
  • यह कंट्रोल किया जा सकता है कि अपडेट कब होगा.
  • यह कंट्रोल करने के लिए कि अपडेट को किस चीज़ के लिए टारगेट किया जाए.

कॉन्फ़िगरेशन

EE2 डिवाइसों में, ओटीए अपडेट की अनुमति देने के लिए, आपको सर्वर साइड और क्लाइंट-साइड कॉन्फ़िगरेशन की ज़रूरत होगी.

सर्वर साइड कॉन्फ़िगरेशन

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

आपको एक JSON फ़ाइल भी होस्ट करनी होगी, जो अपडेट फ़्लो को बढ़ावा देती है. इसे updaterडेटा के नमूने के उदाहरण के तौर पर फ़ॉर्मैट किया जाना चाहिए. इस फ़ाइल में, पेलोड का साइज़, बाइनरी लंबाई, और अन्य मेटाडेटा जैसी जानकारी शामिल है. इसकी ज़रूरत अपडेट इंजन को, OTA बाइनरी को स्वीकार करने के लिए होती है.

क्लाइंट-साइड कॉन्फ़िगरेशन

डिवाइस पर OTA के अपडेट की जांच करने के लिए, आपको OTA का यूआरएल और पोलिंग इंटरवल सेट अप करना होगा. आप उन्हें सेट अप करने वाली गतिविधि शुरू करने के इंटेंट का इस्तेमाल कर सकते हैं. गतिविधि का नाम, com.google.android.glass.otaservice/.OtaSettingsActivity है.

ऐप्लिकेशन में दो तरह की कार्रवाइयां की जा सकती हैं:

  • com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION
    • डीएमएन पोल की जांच करने वाले JSON मेटाडेटा फ़ाइल का यूआरएल.
    • नीचे दी गई कुंजी की मदद से स्ट्रिंग जोड़ें: com.google.android.glass.otaservice.UPDATE_LOCATION
  • com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION
    • वह अंतराल जिस पर OTA डीमन, मिलीसेकंड में पोलिंग करता है.
    • इस कुंजी के साथ कोई नंबर जोड़ें: com.google.android.glass.otaservice.UPDATE_FREQUENCY
    • अगर कोई इंटेंट पहले से नहीं चल रहा है, तो यह इंटेंट तुरंत एक OTA जांच भी शुरू कर देता है.
    • 900,000 मिलीसेकंड से ज़्यादा वाली संख्या ज़रूरी है
    • अगर कोई ओटीए पहले से चल रहा है, तो मौजूदा जांच पूरी होने के बाद फ़्रीक्वेंसी इंटरवल अपडेट किया जाता है. ऐसा करना ज़रूरी है, नहीं तो Android Doze सेवा में रुकावट डाल सकता है.

इंटेंट startActivityForResult को भेजा जा सकता है. जवाब onActivityResult के कॉलबैक पर भेजा जाता है, जिसमें RESULT_OK सक्सेस हो जाता है या RESULT_CANCELLED काम नहीं करता. इसके बाद, समस्या हल करने के लिए, मैसेज को डिवाइस के लॉग में शामिल किया जाता है.

adb निर्देशों के मुताबिक इंटेंट भी भेजा जा सकता है:

adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \
--es com.google.android.glass.otaservice.UPDATE_LOCATION "some_URL_for_json_file" \
-n com.google.android.glass.otaservice/.OtaSettingsActivity
adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \
--el com.google.android.glass.otaservice.UPDATE_FREQUENCY 1800000 \
-n com.google.android.glass.otaservice/.OtaSettingsActivity

ओटीए डेमन, हर 15 मिनट या उससे ज़्यादा समय के लिए JobService की तरह काम करता है. यह फ़्रीक्वेंसी सेटिंग पर निर्भर करता है. JobService, बूट पर चलता है. यह तब तक चलता रहता है, जब तक कि अपडेट किए गए पेलोड को स्वीकार नहीं किया जाता और उसकी पुष्टि नहीं की जाती.

बैकग्राउंड में सेवा तभी पोल करेगी, जब वाई-फ़ाई ऑनलाइन होगा और कनेक्ट होगा. हालांकि, वाई-फ़ाई के इस्तेमाल के लिए, सिर्फ़ LAN की ज़रूरत नहीं होती है.

प्रोसेसिंग, बैकग्राउंड में होती है. प्रोसेस करने के दौरान किसी उपयोगकर्ता को इनपुट देने की ज़रूरत नहीं होती. अगली बार जब रीबूट होता है, तब सूचना पैनल पर एक सूचना दिखती है और ओएस अपने-आप अपडेट हो जाता है.

चरण अपडेट करें

ओटीए से जुड़े अपडेट देखने के लिए यह तरीका अपनाएं:

  1. मौजूदा अपडेट की मदद से, डिवाइस को डाउनलोड करके मैन्युअल तरीके से फ़्लैश करें.
  2. Glass सेटिंग डिवाइस जानकारी कार्ड में यह दिखाई देना चाहिए: वर्तमान अपडेट.
  3. अपने डिवाइस को वाई-फ़ाई नेटवर्क से कनेक्ट करें.
  4. अगले अपडेट पर अपडेट करने के लिए, अपनी json फ़ाइल पर ले जाने के लिए adb निर्देश लागू करें:

    adb shell am start \
    -a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \
    --es com.google.android.glass.otaservice.UPDATE_LOCATION "your_json_file_location" \
    -n com.google.android.glass.otaservice/.OtaSettingsActivity
    adb shell am start \
    -a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \
    --el com.google.android.glass.otaservice.UPDATE_FREQUENCY 900000 \
    -n com.google.android.glass.otaservice/.OtaSettingsActivity
  5. OTA से जुड़ी सूचना दिखाई जा रही है
  6. OTA सूचना गायब हो जाती है
  7. अगले मैन्युअल डिवाइस बूटअप पर, डिवाइस को अपडेट किया जाना चाहिए था और Glass सेटिंग डिवाइस जानकारी कार्ड को यह दिखना चाहिए: नया अपडेट

फ़्लो अपडेट करें

यहां ऐसा स्टैंडर्ड प्रोसेस दिया गया है जिससे OTA का अपडेट चलता है:

  1. बूट करने पर, OTA डीमन अपना पहला एक्ज़ीक्यूशन शेड्यूल करता है, जो तय किए गए इंटरवल से तय होता है. अगर कभी कोई इंटरवल नहीं दिया गया है, तो यह डिफ़ॉल्ट रूप से 15 मिनट का होता है.
  2. डीमन, मेटाडेटा फ़ाइल डाउनलोड करने के लिए वेब सर्वर पर पोल करता है. अगर कोई यूआरएल नहीं दिया गया है, तो डीमन एग्ज़िट करता है और अगले एक्ज़ीक्यूशन इंटरवल तक इंतज़ार करता है.
  3. डीमन सबसे पहले मेटाडेटा फ़ाइल की जांच करता है, ताकि यह पक्का किया जा सके कि सही फ़्लैग सेट किए गए हैं या नहीं. अगर कोई गड़बड़ी होती है, तो डीमन एग्ज़िट करता है और आउटपुट को लॉग में प्रिंट करता है. इसके बाद, डीमन अगले शेड्यूल के पूरा होने का इंतज़ार करता है.
  4. डीमन, JSON फ़ाइल में मौजूद उन एंट्री की तुलना करता है जो डिवाइस पर चल रहे मौजूदा बिल्ड से ली गई होती हैं. अगर इनमें से किसी भी एंट्री से कोई मेल नहीं मिलता है, तो एक OTA डाउनलोड शुरू होता है. मेटाडेटा फ़ाइल का कॉन्टेंट AOSP अपडेट इंजन को भेजा जाता है.

    अपडेट को रोका नहीं जा सका. यह तब तक जारी रहता है, जब तक कार्रवाई पूरी नहीं हो जाती.

  5. डीमन, बैकग्राउंड में अपने-आप ओटीए पैकेज डाउनलोड कर लेता है.
  6. अगर OTA पैकेज डाउनलोड हो गया और उसकी पुष्टि हो गई, तो डीमन ने नए अपडेट के लिए पोल करना बंद कर दिया. फिर से चालू करने पर, अपडेट लागू हो जाएगा. उपयोगकर्ता को यह सूचना दिखेगी कि अगली बार फिर से चालू करने पर यह अपडेट लागू कर दिया जाएगा.
  7. अगर OTA डाउनलोड नहीं हो पाता है, तो तय समय के बाद डीमन फिर से वेब सर्वर पर पोल करेगा.

ऐप्लिकेशन से जुड़े अपडेट

EE2 में, ऐप्लिकेशन के अपडेट को Android के स्टैंडर्ड अपडेट के तौर पर मैनेज किया जाना चाहिए. इसके दो मुख्य विकल्प हैं:

  1. MDM समाधान का इस्तेमाल करें या अपने डिवाइस का मालिक ऐप्लिकेशन बनाएं और ऐप्लिकेशन को बिना आवाज़ के अपडेट करें. ऐसा करने के लिए, आप Android API PackageInstaller का इस्तेमाल कर सकते हैं.
  2. अपने ऐप्लिकेशन से सीधे Android API PackageInstaller का इस्तेमाल करके उसे अपडेट करें. इस मामले में एक सिस्टम डायलॉग दिखता है.