केस स्टडी
Uber, क्रेडेंशियल वापस लाने की सुविधा देने वाले एपीआई की मदद से, हर साल 40 लाख मैन्युअल लॉगिन कैसे कम कर रहा है
पांच मिनट में पढ़ें
Uber, दुनिया की सबसे बड़ी राइडशेयरिंग कंपनी है. यह हर साल लाखों लोगों को एक जगह से दूसरी जगह ले जाती है. साथ ही, यह फ़ूड डिलीवरी, स्वास्थ्य सेवा के लिए परिवहन, और माल ढुलाई की लॉजिस्टिक्स की सुविधा भी देती है. इसे ऐक्सेस करना आसान होना चाहिए. यह इसके लिए ज़रूरी है. जब उपयोगकर्ता किसी नए डिवाइस पर स्विच करते हैं, तो उन्हें उम्मीद होती है कि वे Uber ऐप्लिकेशन में फिर से लॉग इन किए बिना या एसएमएस के ज़रिए मिलने वाले एक बार इस्तेमाल होने वाले पासवर्ड से पुष्टि किए बिना, आसानी से स्विच कर पाएंगे. डिवाइस बदलने की यह आदत, उपयोगकर्ता को बनाए रखने के लिए एक चुनौती और एक मौका, दोनों है.
उपयोगकर्ता को बनाए रखने के लिए, Uber के इंजीनियरों ने क्रेडेंशियल वापस लाने की सुविधा का इस्तेमाल किया. यह सुविधा, उस समय के लिए एक ज़रूरी टूल है, जब अमेरिका में 40% लोग हर साल अपना स्मार्टफ़ोन बदलते हैं. उपयोगकर्ता की मांग और कोड प्रोटोटाइपिंग का आकलन करने के बाद, उन्होंने Uber के राइडर ऐप्लिकेशन में क्रेडेंशियल वापस लाने की सुविधा जोड़ी. Uber की टीम ने यह पुष्टि करने के लिए कि क्रेडेंशियल वापस लाने की सुविधा से, फिर से लॉग इन करने में होने वाली परेशानी कम होती है, पांच हफ़्तों तक A/B एक्सपेरिमेंट किया. यह एक्सपेरिमेंट सफल रहा. इस सुविधा को इंटिग्रेट करने से, मैन्युअल लॉगिन की संख्या में कमी आई. Uber के बड़े उपयोगकर्ता आधार के हिसाब से अनुमान लगाया गया है कि इससे हर साल 40 लाख मैन्युअल लॉगिन कम हो जाएंगे.
क्रेडेंशियल वापस लाने की सुविधा से, लॉगिन करने में होने वाली परेशानी कम करना
पहले, नए डिवाइसों पर खाते को वापस लाने के लिए, डेटा का नियमित बैकअप और BlockStore जैसे सलूशन का इस्तेमाल किया जाता था. हालांकि, इन दोनों सलूशन के लिए, पुष्टि करने वाले टोकन को सोर्स डिवाइस से डेस्टिनेशन डिवाइस पर सीधे शेयर करना पड़ता था. टोकन की जानकारी बहुत संवेदनशील होती है. इसलिए, इन सलूशन का इस्तेमाल सिर्फ़ डेस्टिनेशन डिवाइस पर लॉगिन फ़ील्ड को पहले से भरने और साइन-इन फ़्लो के दौरान होने वाली कुछ परेशानियों को कम करने के लिए किया जाता है. पासकी का इस्तेमाल, लॉगिन करने के सुरक्षित और तेज़ तरीके के तौर पर भी किया जाता है. हालांकि, उपयोगकर्ता की ओर से शुरू की जाने वाली पासकी की वजह से, डिवाइसों के बीच आसानी से स्विच करने पर इसका असर सीमित होता है.
Uber के Android इंजीनियर, Thomás Oliveira Horta ने कहा, “कुछ उपयोगकर्ता, Uber ऐप्लिकेशन का रोज़ाना इस्तेमाल नहीं करते. हालांकि, उन्हें उम्मीद होती है कि जब उन्हें इसकी ज़रूरत होगी, तब यह काम करेगा.” “अपने नए Android फ़ोन पर राइड का अनुरोध करने के लिए, ऐप्लिकेशन खोलते ही पता चलना कि आपने लॉग आउट कर दिया है, एक बुरा और परेशान करने वाला अनुभव हो सकता है.”
क्रेडेंशियल वापस लाने की सुविधा की मदद से, इंजीनियर इस समस्या को हल कर पाए. एपीआई, पुराने डिवाइस पर एक यूनीक टोकन जनरेट करता है. जब उपयोगकर्ता, स्टैंडर्ड ऑनबोर्डिंग प्रोसेस के दौरान अपने ऐप्लिकेशन का डेटा वापस लाता है, तो यह टोकन नए डिवाइस पर आसानी से और चुपचाप ट्रांसफ़र हो जाता है. इस प्रोसेस में, Android OS के नेटिव बैकअप और वापस लाने के मैकेनिज़्म का इस्तेमाल किया जाता है. इससे, ऐप्लिकेशन के डेटा के साथ-साथ, वापस लाने की कुंजी को सुरक्षित तरीके से ट्रांसफ़र किया जा सकता है. इस आसान तरीके से, खाते को आसानी से और सुरक्षित तरीके से ट्रांसफ़र किया जा सकता है. साथ ही, Uber की सुरक्षा से जुड़ी ज़रूरी शर्तें भी पूरी की जा सकती हैं. इसके लिए, उपयोगकर्ता को कोई अतिरिक्त इनपुट नहीं देना पड़ता और न ही डेवलपर को कोई अतिरिक्त काम करना पड़ता है.
ध्यान दें: क्रेडेंशियल वापस लाने की कुंजियों और पासकी के लिए, एक ही सर्वर का इस्तेमाल किया जाता है. हालांकि, इन्हें अपने डेटाबेस में सेव करते समय, इनके बीच अंतर करना ज़रूरी है. यह अंतर ज़रूरी है, क्योंकि उपयोगकर्ता की बनाई पासकी को सीधे उपयोगकर्ता मैनेज कर सकता है. वहीं, क्रेडेंशियल वापस लाने की कुंजियों को सिस्टम मैनेज करता है और ये उपयोगकर्ता इंटरफ़ेस में नहीं दिखती हैं.
Thomás ने कहा, “Uber के राइडर ऐप्लिकेशन में क्रेडेंशियल वापस लाने की सुविधा को अपनाने के बाद, हमें इसका लगातार इस्तेमाल देखने को मिला.” “मौजूदा रोलआउट स्टेज में, हर दिन औसतन 10,000 यूनीक उपयोगकर्ता क्रेडेंशियल वापस लाने की सुविधा से साइन इन कर रहे हैं. साथ ही, नए डिवाइस पर पहली बार ऐप्लिकेशन खोलने पर, उन्हें बेहतर अनुभव मिला. हमें उम्मीद है कि जब हम इस सुविधा को अपने सभी उपयोगकर्ताओं के लिए रोल आउट करेंगे, तो यह संख्या दोगुनी हो जाएगी.”
लागू करने पर विचार
Thomás ने कहा, “सैंपल कोड और दस्तावेज़ के मुताबिक, Android में मामूली बदलाव करके इसे इंटिग्रेट करना काफ़ी आसान था.” “हमारे ऐप्लिकेशन में पासकी के लिए, पहले से ही क्रेडेंशियल मैनेजर का इस्तेमाल किया जाता था. साथ ही, बैकएंड में सिर्फ़ कुछ छोटे-मोटे बदलाव करने पड़े. इसलिए, हमें क्रेडेंशियल वापस लाने की सुविधा देने वाले नए एपीआई को ऐक्सेस करने के लिए, क्रेडेंशियल मैनेजर की डिपेंडेंसी को उसके नए वर्शन पर अपडेट करना पड़ा.” हमने पासकी बनाने के उसी फ़्लो से, क्रेडेंशियल वापस लाने की कुंजी बनाई. जब हमारा ऐप्लिकेशन किसी नए डिवाइस पर लॉन्च होता है, तो यह कुंजी अपने-आप इस कुंजी की जांच करता है. इसके लिए, यह पासकी को चुपचाप वापस लाने की कोशिश करता है. अगर क्रेडेंशियल वापस लाने की कुंजी मिल जाती है, तो इसका इस्तेमाल तुरंत उपयोगकर्ता को अपने-आप साइन इन करने के लिए किया जाता है. इससे, मैन्युअल लॉगिन करने की ज़रूरत नहीं पड़ती.”
डेवलपमेंट की प्रोसेस के दौरान, Uber के इंजीनियरों को लागू करने के दौरान कुछ चुनौतियों का सामना करना पड़ा. इनमें, सही एंट्री पॉइंट चुनने से लेकर बैकएंड पर क्रेडेंशियल के लाइफ़साइकल को मैनेज करने तक की चुनौतियां शामिल थीं.
क्रेडेंशियल वापस लाने की सुविधा के लिए एंट्री पॉइंट चुनना
इंजीनियरों ने, क्रेडेंशियल वापस लाने की सुविधा के लिए, रिकवरी के लिए इस्तेमाल किए जाने वाले एंट्री पॉइंट को चुनते समय, उपयोगकर्ता को बेहतर अनुभव देने और लागू करने में आसानी के बीच सावधानी से फ़ैसले लिए. आखिरकार, उन्होंने एक ऐसे सलूशन को प्राथमिकता दी जो दोनों के बीच सही संतुलन बनाए रखता हो.
Thomás ने कहा, “यह BackupAgent का इस्तेमाल करके, ऐप्लिकेशन लॉन्च होने के दौरान या डिवाइस को वापस लाने और सेटअप करने के दौरान बैकग्राउंड में हो सकता है.” “बैकग्राउंड लॉगिन एंट्री पॉइंट, उपयोगकर्ता के लिए ज़्यादा आसान है. हालांकि, इससे बैकग्राउंड में होने वाली कार्रवाइयों में चुनौतियां आईं. साथ ही, इसके लिए BackupAgent API का इस्तेमाल करना पड़ा. इससे Uber के जितने बड़े कोडबेस में जटिलता बढ़ जाती.” उन्होंने ऐप्लिकेशन लॉन्च होने के दौरान इस सुविधा को लागू करने का फ़ैसला किया. यह मैन्युअल लॉगिन के मुकाबले काफ़ी तेज़ था.
सर्वर साइड की चुनौतियों का सामना करना
बैकएंड WebAuthn API के साथ इंटिग्रेट करने के दौरान, सर्वर साइड की कुछ चुनौतियां आईं. ऐसा इसलिए हुआ, क्योंकि इनके डिज़ाइन में यह माना गया था कि उपयोगकर्ता की पुष्टि हमेशा ज़रूरी होगी और सभी क्रेडेंशियल, उपयोगकर्ता की खाता सेटिंग में दिखेंगे. इनमें से कोई भी अनुमान, उपयोगकर्ता के मैनेज न किए जाने वाले क्रेडेंशियल वापस लाने की कुंजियों के लिए काम नहीं किया.
Uber की टीम ने WebAuthn सेवाओं में मामूली बदलाव करके, इस समस्या को हल किया. साथ ही, पासकी को क्रेडेंशियल वापस लाने की कुंजियों से अलग करने और उन्हें सही तरीके से प्रोसेस करने के लिए, क्रेडेंशियल के नए टाइप बनाए.
क्रेडेंशियल वापस लाने की सुविधा के लाइफ़साइकल को मैनेज करना
Uber के इंजीनियरों को बैकएंड पर क्रेडेंशियल की कुंजियों को मैनेज करने में कई चुनौतियों का सामना करना पड़ा. इसके लिए, बैकएंड इंजीनियर Ryan O’Laughlin ने खास सहायता दी:
- अनाथ कुंजियों को रोकना: एक अहम चुनौती, रजिस्टर की गई सार्वजनिक कुंजियों को मिटाने की रणनीति तय करना था, ताकि वे "अनाथ" न बन जाएं. उदाहरण के लिए, ऐप्लिकेशन को अनइंस्टॉल करने पर, स्थानीय क्रेडेंशियल मिट जाता है. हालांकि, इस कार्रवाई से बैकएंड को कोई सिग्नल नहीं मिलता. इसलिए, सर्वर पर एक ऐसी कुंजी रह जाती है जिसका इस्तेमाल नहीं किया जाता.
- कुंजी के लाइफ़स्पैन को बैलेंस करना: कुंजियों के लिए "टाइम टू लिव" की ज़रूरत थी, जो मुश्किल स्थितियों को हैंडल करने के लिए काफ़ी लंबा हो. उदाहरण के लिए, अगर कोई उपयोगकर्ता बैकअप और वापस लाने की प्रोसेस पूरी करता है, तो पुराने डिवाइस से मैन्युअल तरीके से लॉग आउट करने पर, उस पुराने डिवाइस से कुंजी मिट जाती है. हालांकि, कुंजी को सर्वर पर मान्य रहना चाहिए, ताकि नया डिवाइस अब भी इसका इस्तेमाल कर सके.
- एक से ज़्यादा डिवाइसों के लिए सहायता: ऐसा हो सकता है कि किसी उपयोगकर्ता के पास एक से ज़्यादा डिवाइस हों (और वह इनमें से किसी भी डिवाइस से बैकअप और वापस लाने की प्रोसेस शुरू कर सकता है). इसलिए, बैकएंड को हर उपयोगकर्ता के लिए, क्रेडेंशियल वापस लाने की एक से ज़्यादा कुंजियों (हर डिवाइस के लिए एक) के लिए सहायता देनी पड़ी.
Uber के इंजीनियरों ने, क्रेडेंशियल के नए रजिस्ट्रेशन और क्रेडेंशियल के इस्तेमाल के आधार पर, सर्वर साइड पर कुंजी मिटाने के नियम बनाकर इन चुनौतियों को हल किया.
इस सुविधा को डिज़ाइन करने से लेकर डिलीवर करने तक, दो महीने में डेवलपमेंट और टेस्टिंग की प्रोसेस पूरी की गई. इसके बाद, पांच हफ़्तों तक A/B एक्सपेरिमेंट (उपयोगकर्ताओं के साथ सुविधा की पुष्टि करने का समय) आसानी से चला और इसके नतीजे साफ़ तौर पर दिखे.
क्रेडेंशियल वापस लाने की सुविधा से, उपयोगकर्ता को बनाए रखना
नए डिवाइसों पर मैन्युअल लॉगिन की ज़रूरत खत्म करके, Uber ने उन उपयोगकर्ताओं को बनाए रखा जो नए डिवाइस पर साइन-इन फ़्लो को छोड़ सकते थे. उपयोगकर्ताओं को मिली इस आसानी की वजह से, कई तरह के सुधार हुए. हालांकि, पहली नज़र में ये मामूली लग सकते हैं, लेकिन Uber के उपयोगकर्ता आधार के हिसाब से इनका असर बहुत ज़्यादा है:
- मैन्युअल लॉगिन (एसएमएस ओटीपी, पासवर्ड, सोशल लॉगिन) में 3.4% की कमी.
- एसएमएस ओटीपी की ज़रूरत वाले लॉगिन के लिए, खर्च में 1.2% की कमी.
- Uber के ऐक्सेस रेट (% of devices that successfully reached the app home screen) में 0.575% की बढ़ोतरी.
- ट्रिप पूरी करने वाले डिवाइसों की संख्या में 0.614% की बढ़ोतरी.
आज, क्रेडेंशियल वापस लाने की सुविधा, Uber के राइडर ऐप्लिकेशन का स्टैंडर्ड हिस्सा बनने की राह पर है. ट्रायल ग्रुप में 95% से ज़्यादा उपयोगकर्ता रजिस्टर किए गए हैं.
नए डिवाइस को सेट अप करने के दौरान, उपयोगकर्ता बैकअप से ऐप्लिकेशन का डेटा और क्रेडेंशियल वापस ला सकते हैं. वापस लाने के लिए Uber को चुनने और बैकग्राउंड प्रोसेस पूरी होने के बाद, ऐप्लिकेशन नए डिवाइस पर पहली बार लॉन्च होने पर, उपयोगकर्ता को अपने-आप साइन इन कर देगा.
क्रेडेंशियल वापस लाने की सुविधा का न दिखने वाला, लेकिन बड़ा असर
आने वाले महीनों में, Uber, क्रेडेंशियल वापस लाने की सुविधा को इंटिग्रेट करने की योजना बना रहा है. ट्रायल के नतीजों के आधार पर, उनका अनुमान है कि इस बदलाव से हर साल 40 लाख मैन्युअल लॉगिन कम हो जाएंगे. ऐप्लिकेशन को ऐक्सेस करने की प्रोसेस को आसान बनाकर और एक अहम समस्या को हल करके, वे धीरे-धीरे ज़्यादा संतुष्ट और लॉयल ग्राहक आधार बना रहे हैं.
Uber में लीड प्रॉडक्ट मैनेजर (कोर आइडेंटिटी), Matt Mueller ने कहा, "Google के RestoreCredentials को इंटिग्रेट करने से, हम अपने उपयोगकर्ताओं को 'यह काम करता है' वाला बेहतर अनुभव दे पाए. हमारे उपयोगकर्ताओं को नए डिवाइस पर इस अनुभव की उम्मीद होती है.” “इससे सीधे तौर पर रेवेन्यू में बढ़ोतरी हुई. इससे यह साबित होता है कि लॉगिन करने में होने वाली परेशानी को कम करना, उपयोगकर्ता को बनाए रखने और उनसे जुड़ाव बढ़ाने के लिए ज़रूरी है."
क्या आप अपने ऐप्लिकेशन के लॉगिन अनुभव को बेहतर बनाने के लिए तैयार हैं?
क्रेडेंशियल वापस लाने की सुविधा की मदद से, डिवाइस स्विच करते समय लॉगिन का बेहतर अनुभव देने का तरीका जानें. साथ ही, ब्लॉग पोस्ट में ज़्यादा पढ़ें. Android Studio Otter के नए कैनरी में, अपने इंटिग्रेशन की पुष्टि की जा सकती है. ऐसा इसलिए, क्योंकि नई सुविधाएं, बैकअप और वापस लाने के मैकेनिज़्म को मॉक करने में मदद करती हैं.
अगर आपने क्रेडेंशियल मैनेजर का इस्तेमाल पहली बार किया है, तो इंटिग्रेशन में मदद पाने के लिए, हमारे आधिकारिक दस्तावेज़, कोडलैब और सैंपल देखें
पढ़ना जारी रखें
-
केस स्टडी
Zoho, क्लाउड पर आधारित सॉफ़्टवेयर का एक सुइट है. यह सुरक्षा और बेहतर अनुभव देने पर फ़ोकस करता है. Zoho ने अपने OneAuth Android ऐप्लिकेशन में पासकी को अपनाकर, काफ़ी सुधार किए हैं.
Niharika Arora, Joseph Lewis • 10 मिनट में पढ़ें
-
केस स्टडी
X, एक सोशल मीडिया ऐप्लिकेशन है. इसका मकसद, दुनिया भर में करीब 50 करोड़ उपयोगकर्ताओं को ब्रेकिंग न्यूज़ और मनोरंजन से लेकर खेल और राजनीति तक की पूरी जानकारी, लाइव कमेंट्री के साथ देना है.
Niharika Arora • तीन मिनट में पढ़ें
-
केस स्टडी
Karrot, एक हाइपरलोकल, कम्यूनिटी-ड्राइव्हन पीयर-टू-पीयर मार्केटप्लेस ऐप्लिकेशन है. इसकी मदद से, उपयोगकर्ता पुष्टि किए गए अन्य उपयोगकर्ताओं के साथ आइटम खरीद, बेच, और ट्रेड कर सकते हैं. इस प्लैटफ़ॉर्म को 2015 में दक्षिण कोरिया में लॉन्च किया गया था. इसके बाद, यह दुनिया भर के बाज़ारों में फैल गया है. इसके 4.3 करोड़ से ज़्यादा रजिस्टर उपयोगकर्ता हैं.
Thomas Ezan, Tracy Agyemang • दो मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.