उपयोगकर्ता क्या कर रहे हैं, यह समझकर अपने ऐप्लिकेशन के हिसाब से बदलाव करें

मोबाइल डिवाइस कई लोगों की रोज़मर्रा की ज़िंदगी का हिस्सा बन चुके हैं. जब आपके उपयोगकर्ता ड्राइव करते हैं, चलते हैं, कसरत करते हैं, काम करते हैं, और खेलते हैं, तो वे दिन भर अपने फ़ोन साथ रखते हैं.

उपयोगकर्ता आपके वास्तविक जीवन में क्या कर रहे हैं, यह समझना आपके ऐप्लिकेशन को उनके साथ सहभागिता करने के तरीकों को बेहतर तरीके से समझने में सहायता करता है. उदाहरण के लिए, जब कोई उपयोगकर्ता ऐप्लिकेशन का इस्तेमाल करना शुरू करता है, तो उपयोगकर्ता के हार्टबीट की गतिविधि को ट्रैक करने वाला ऐप्लिकेशन, उपयोगकर्ता का उसके डिवाइस के कार मोड पर स्विच कर सकता है.

गतिविधि की पहचान करने वाला एपीआई, डिवाइस में मौजूद सेंसर पर सबसे ऊपर बनाया जाता है. डिवाइस सेंसर से यह पता चलता है कि उपयोगकर्ता फ़िलहाल क्या कर रहे हैं. हालांकि, कई सेंसर से मिलने वाले दर्जनों सिग्नल और लोगों के काम करने के तरीके में मामूली अंतर होने से, यह पता लगाना आसान नहीं होता कि लोग क्या कर रहे हैं.

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

कम से कम संसाधनों का इस्तेमाल करके गतिविधियों के बारे में जानकारी पाएं

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

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

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

आप PendingIntent का इस्तेमाल करके एपीआई को बता सकते हैं कि खोज के नतीजे कैसे दिखाए जाएं. इससे गतिविधि का पता लगाने के लिए, बैकग्राउंड में सेवा लगातार चलाने की ज़रूरत नहीं होती. आपके ऐप्लिकेशन को एपीआई से Intents के बारे में पता चलता है. साथ ही, यह पता लगाई गई गतिविधियों को निकालता है और यह तय करता है कि इसे कोई कार्रवाई करनी चाहिए या नहीं. किसी गतिविधि के मिलने पर ही सेवा का इस्तेमाल करने से मेमोरी जैसे संसाधनों को सुरक्षित रखा जाता है.

ऐक्टिविटी की पहचान करने वाला एपीआई, मौजूदा गतिविधियों की पहचान करने के लिए डिवाइस से सिग्नल को प्रोसेस करता है. आपके ऐप्लिकेशन को पता लगाई गई गतिविधियों की एक सूची मिलती है. इनमें से हर एक में confidence और type प्रॉपर्टी शामिल हैं.

confidence प्रॉपर्टी से यह पता चलता है कि उपयोगकर्ता नतीजों में दिखाई गई गतिविधि कर रहा है. type प्रॉपर्टी, असली दुनिया की इकाइयों के मुकाबले डिवाइस की पहचानी गई गतिविधि को दिखाती है. उदाहरण के लिए, यह डिवाइस साइकल पर है या डिवाइस, उपयोगकर्ता के डिवाइस पर है.