Uber, Restore Credentials API का इस्तेमाल करके, हर साल मैन्युअल तरीके से लॉगिन करने की संख्या को 40 लाख तक कैसे कम कर रहा है
पढ़ने में लगने वाला समय: 5 मिनट
Uber, राइड शेयरिंग की सुविधा देने वाली दुनिया की सबसे बड़ी कंपनी है. यह लाखों लोगों को एक जगह से दूसरी जगह पहुंचाने के साथ-साथ, खाना डिलीवर करने, स्वास्थ्य से जुड़ी परिवहन सेवा, और माल ढुलाई की सुविधा भी देती है. इसकी सफलता के लिए, ऐक्सेस करना आसान होना ज़रूरी है. जब उपयोगकर्ता किसी नए डिवाइस पर स्विच करते हैं, तो वे चाहते हैं कि उन्हें Uber ऐप्लिकेशन में फिर से लॉग इन न करना पड़े या एसएमएस के ज़रिए मिलने वाले एक बार इस्तेमाल होने वाले पासवर्ड से पुष्टि न करनी पड़े. डिवाइसों के बार-बार बदलने से, उपयोगकर्ताओं को अपने साथ जोड़े रखना एक चुनौती बन जाता है. हालांकि, यह एक मौका भी है.
उपयोगकर्ताओं को लगातार सेवा देने के लिए, Uber के इंजीनियरों ने क्रेडेंशियल वापस लाने की सुविधा का इस्तेमाल किया. यह एक ज़रूरी टूल है, क्योंकि अमेरिका में 40% लोग हर साल अपना स्मार्टफ़ोन बदलते हैं. उपयोगकर्ता की मांग और कोड प्रोटोटाइप का आकलन करने के बाद, उन्होंने Uber राइडर ऐप्लिकेशन में क्रेडेंशियल रीस्टोर करने की सुविधा जोड़ी. क्रेडेंशियल रीस्टोर करने की सुविधा से, फिर से लॉगिन करने में आने वाली रुकावटें दूर होती हैं या नहीं, इसकी पुष्टि करने के लिए Uber की टीम ने पांच हफ़्तों तक A/B एक्सपेरिमेंट किया. इस इंटिग्रेशन की वजह से, मैन्युअल तरीके से लॉगिन करने की ज़रूरत कम हो गई. Uber के उपयोगकर्ताओं की बड़ी संख्या को देखते हुए, यह अनुमान लगाया गया है कि सालाना 40 लाख मैन्युअल लॉगिन कम हो जाएंगे.
क्रेडेंशियल वापस लाने की सुविधा की मदद से, लॉगिन करने में आने वाली समस्याओं को दूर करना
पहले, नए डिवाइसों पर खाते को वापस लाने के लिए, डेटा के सामान्य बैकअप और BlockStore जैसे समाधानों का इस्तेमाल किया जाता था. हालांकि, इन दोनों समाधानों के लिए, पुष्टि करने वाले टोकन को सीधे सोर्स डिवाइस से डेस्टिनेशन डिवाइस पर शेयर करना पड़ता था. टोकन की जानकारी काफ़ी संवेदनशील होती है. इसलिए, इन समाधानों का इस्तेमाल सिर्फ़ कुछ हद तक किया जाता है. जैसे, डेस्टिनेशन डिवाइस पर लॉगिन फ़ील्ड को ऑटोमैटिक तरीके से भरने और साइन-इन की प्रोसेस के दौरान होने वाली कुछ समस्याओं को कम करने के लिए. पासकी का इस्तेमाल, सुरक्षित और तेज़ी से लॉगिन करने के तरीके के तौर पर भी किया जाता है. हालांकि, उपयोगकर्ता को इन्हें खुद चालू करना पड़ता है. इस वजह से, एक डिवाइस से दूसरे डिवाइस पर आसानी से स्विच करने की सुविधा पर असर पड़ता है.
Uber में Android इंजीनियर, थॉमस ओलिवेरा होर्टा ने कहा, “कुछ लोग Uber ऐप्लिकेशन का इस्तेमाल रोज़ाना नहीं करते, लेकिन उन्हें उम्मीद होती है कि ज़रूरत पड़ने पर यह काम करेगा.” “अपने नए Android फ़ोन पर राइड बुक करने के लिए ऐप्लिकेशन खोलने पर, यह पता चलना कि आप लॉग आउट हो गए हैं, एक खराब और निराशाजनक अनुभव हो सकता है.”
Restore Credentials की मदद से, इंजीनियर इस समस्या को हल कर पाए. एपीआई, पुराने डिवाइस पर एक यूनीक टोकन जनरेट करता है. जब उपयोगकर्ता, स्टैंडर्ड ऑनबोर्डिंग प्रोसेस के दौरान अपने ऐप्लिकेशन का डेटा वापस लाता है, तो यह टोकन नए डिवाइस पर आसानी से और बिना किसी सूचना के ट्रांसफ़र हो जाता है. यह प्रोसेस, Android OS के नेटिव बैकअप और डेटा वापस लाने के तरीके का इस्तेमाल करती है. इससे ऐप्लिकेशन के डेटा के साथ-साथ, डेटा वापस लाने की कुंजी को सुरक्षित तरीके से ट्रांसफ़र किया जा सकता है. इस आसान तरीके से, खाते को आसानी से और सुरक्षित तरीके से ट्रांसफ़र किया जा सकता है. इससे Uber की सुरक्षा से जुड़ी ज़रूरी शर्तें पूरी होती हैं. इसके लिए, उपयोगकर्ता को कोई अतिरिक्त इनपुट देने या डेवलपमेंट ओवरहेड की ज़रूरत नहीं होती.
ध्यान दें: रीस्टोर की और पासकी, दोनों के लिए एक ही सर्वर का इस्तेमाल किया जाता है. हालांकि, जब उन्हें अपने डेटाबेस में सेव किया जाता है, तो आपको उनके बीच अंतर करना होगा. यह अंतर ज़रूरी है, क्योंकि उपयोगकर्ता की बनाई गई पासकी को सीधे तौर पर उपयोगकर्ता मैनेज कर सकता है. वहीं, रीस्टोर की को सिस्टम मैनेज करता है और वे यूज़र इंटरफ़ेस से छिपी होती हैं.
थॉमस ने कहा, “Uber के राइडर ऐप्लिकेशन पर क्रेडेंशियल वापस लाने की सुविधा को अपनाने के बाद, हमें इसके इस्तेमाल में लगातार बढ़ोतरी देखने को मिली.” “रोलआउट के मौजूदा चरण में, हर दिन औसतन 10,000 यूनीक उपयोगकर्ताओं ने क्रेडेंशियल रीस्टोर करने की सुविधा का इस्तेमाल करके साइन इन किया है. साथ ही, नए डिवाइस पर पहली बार ऐप्लिकेशन खोलने पर, उन्हें बेहतरीन अनुभव मिला है. हमें उम्मीद है कि जब हम इस सुविधा को अपने सभी उपयोगकर्ताओं के लिए रोल आउट करेंगे, तब यह संख्या दोगुनी हो जाएगी.”
लागू किए जाने के दौरान ध्यान देने वाली बातें
थॉमस ने कहा, “सैंपल कोड और दस्तावेज़ की मदद से, Android पर मामूली बदलाव करके, इंटिग्रेशन करना काफ़ी आसान था.” “हमारा ऐप्लिकेशन, पासकी के लिए पहले से ही Credential Manager का इस्तेमाल कर रहा था. इसलिए, हमें बैकएंड में सिर्फ़ कुछ छोटे-मोटे बदलाव करने पड़े. इसलिए, हमें Restore Credentials API का ऐक्सेस पाने के लिए, Credential Manager की डिपेंडेंसी को इसके नए वर्शन पर अपडेट करना पड़ा. हमने पासकी बनाने के उसी फ़्लो का इस्तेमाल करके, रिस्टोर करने की कुंजी बनाई. जब हमारे ऐप्लिकेशन को किसी नए डिवाइस पर लॉन्च किया जाता है, तो ऐप्लिकेशन इस कुंजी को ढूंढने के लिए, बैकग्राउंड में पासकी को वापस पाने की कोशिश करता है. अगर रीस्टोर कुंजी मिल जाती है, तो इसका इस्तेमाल करके उपयोगकर्ता को अपने-आप साइन इन कर दिया जाता है. इससे मैन्युअल तरीके से लॉगिन करने की ज़रूरत नहीं पड़ती.”
डेवलपमेंट प्रोसेस के दौरान, Uber के इंजीनियरों को इसे लागू करते समय कुछ चुनौतियों का सामना करना पड़ा. इनमें सही एंट्री पॉइंट चुनने से लेकर, बैकएंड पर क्रेडेंशियल लाइफ़साइकल को मैनेज करना शामिल है.
क्रेडेंशियल वापस लाने के लिए एंट्री पॉइंट चुनना
इंजीनियरों ने Restore Credentials एपीआई के एंट्री पॉइंट को चुनने के लिए, उपयोगकर्ताओं को बिना किसी रुकावट के बेहतर अनुभव देने और इसे लागू करने में आसानी के बीच के फ़ायदों और नुकसानों का ध्यान से आकलन किया. आखिरकार, उन्होंने एक ऐसा समाधान चुना जो दोनों के बीच सही संतुलन बनाता था.
थॉमस ने कहा, “ऐसा ऐप्लिकेशन लॉन्च करने के दौरान या डिवाइस को सेटअप और रीस्टोर करने के दौरान बैकग्राउंड में हो सकता है. इसके लिए, BackupAgent का इस्तेमाल किया जाता है.” “बैकग्राउंड में लॉगिन करने का एंट्री पॉइंट, उपयोगकर्ता के लिए ज़्यादा आसान है. हालांकि, इससे बैकग्राउंड में होने वाली कार्रवाइयों में समस्याएं आईं और BackupAgent API का इस्तेमाल करना पड़ा. इससे Uber जैसे बड़े कोड बेस में जटिलता बढ़ जाती.” उन्होंने ऐप्लिकेशन को पहली बार लॉन्च करने के दौरान, इस सुविधा को लागू करने का फ़ैसला लिया. यह मैन्युअल तरीके से लॉगिन करने की तुलना में काफ़ी तेज़ था.
सर्वर साइड से जुड़ी चुनौतियों का समाधान करना
बैकएंड WebAuthn एपीआई के साथ इंटिग्रेशन के दौरान, सर्वर-साइड से जुड़ी कुछ समस्याएं आईं. ऐसा इसलिए हुआ, क्योंकि उनके डिज़ाइन में यह माना गया था कि उपयोगकर्ता की पुष्टि करना हमेशा ज़रूरी होगा. साथ ही, सभी क्रेडेंशियल, उपयोगकर्ता के खाते की सेटिंग में मौजूद होंगे. हालांकि, उपयोगकर्ता के मैनेज न किए जाने वाले रीस्टोर क्रेडेंशियल की कुंजियों के लिए, ये दोनों अनुमान काम नहीं आए.
Uber की टीम ने WebAuthn की सेवाओं में मामूली बदलाव करके इस समस्या को हल किया. साथ ही, नए क्रेडेंशियल टाइप बनाए, ताकि पासकी को रीस्टोर क्रेडेंशियल से अलग किया जा सके और उन्हें सही तरीके से प्रोसेस किया जा सके.
क्रेडेंशियल रीस्टोर करने की सुविधा की लाइफ़साइकल को मैनेज करना
Uber के इंजीनियरों को बैकएंड पर क्रेडेंशियल कुंजियों को मैनेज करने में कई चुनौतियों का सामना करना पड़ा. बैकएंड इंजीनियर रयान ओ'लॉफलिन ने इस समस्या को हल करने में उनकी मदद की:
- ऑर्फ़न पासकोड को रोकना: रजिस्टर किए गए सार्वजनिक पासकोड को मिटाने की रणनीति तय करना एक बड़ी चुनौती थी, ताकि उन्हें "ऑर्फ़न" होने से रोका जा सके. उदाहरण के लिए, ऐप्लिकेशन को अनइंस्टॉल करने पर, डिवाइस पर मौजूद क्रेडेंशियल मिट जाता है. हालांकि, इस कार्रवाई से बैकएंड को कोई सिग्नल नहीं मिलता. इस वजह से, सर्वर पर एक ऐसी कुंजी रह जाती है जिसका इस्तेमाल नहीं किया जाता.
- कुंजी की समयसीमा को संतुलित करना: कुंजियों को "समयसीमा" की ज़रूरत होती है, जो इतनी लंबी हो कि मुश्किल मामलों को हैंडल किया जा सके. उदाहरण के लिए, अगर कोई उपयोगकर्ता बैकअप और रीस्टोर की प्रोसेस पूरी करता है और फिर पुराने डिवाइस से मैन्युअल तरीके से लॉग आउट करता है, तो उस पुराने डिवाइस से पासकी मिटा दी जाती है. हालांकि, सर्वर पर डिजिटल बटन की समयसीमा खत्म नहीं होनी चाहिए, ताकि नए डिवाइस पर इसका इस्तेमाल किया जा सके.
- एक से ज़्यादा डिवाइसों के लिए सहायता: ऐसा हो सकता है कि किसी उपयोगकर्ता के पास एक से ज़्यादा डिवाइस हों और वह उनमें से किसी भी डिवाइस से बैकअप और डेटा वापस पाने की प्रोसेस शुरू कर सकता है. इसलिए, बैकएंड को हर उपयोगकर्ता के लिए, डेटा वापस पाने के लिए एक से ज़्यादा क्रेडेंशियल (हर डिवाइस के लिए एक) की ज़रूरत होती है.
Uber के इंजीनियरों ने इन चुनौतियों का समाधान करने के लिए, सर्वर-साइड पर कुंजी मिटाने के नियम बनाए. ये नियम, नए क्रेडेंशियल के रजिस्ट्रेशन और क्रेडेंशियल के इस्तेमाल पर आधारित हैं.
इस सुविधा को डिज़ाइन करने से लेकर डिलीवर करने तक, दो महीने का समय लगा. इस दौरान, इसे डेवलप और टेस्ट किया गया. इसके बाद, पांच हफ़्ते तक चला A/B एक्सपेरिमेंट (उपयोगकर्ताओं के साथ सुविधा की पुष्टि करने का समय) आसानी से पूरा हो गया और इसके नतीजे भी शानदार रहे.
Restore Credentials की मदद से, उपयोगकर्ता को ऐप्लिकेशन छोड़ने से रोकना
नए डिवाइसों पर मैन्युअल तरीके से लॉगिन करने की ज़रूरत को खत्म करके, Uber ने उन उपयोगकर्ताओं को बनाए रखा जो शायद नए डिवाइस पर साइन-इन करने की प्रोसेस को बीच में ही छोड़ देते. ग्राहकों को मिली इस सुविधा से, कई तरह के सुधार देखने को मिले. हालांकि, पहली नज़र में ये सुधार मामूली लग सकते हैं, लेकिन Uber के उपयोगकर्ताओं की संख्या के हिसाब से इनका असर बहुत ज़्यादा है:
- मैन्युअल तरीके से लॉगिन (एसएमएस ओटीपी, पासवर्ड, सोशल लॉगिन) करने की संख्या में 3.4% की कमी.
- एसएमएस ओटीपी की मदद से लॉगिन करने पर होने वाले खर्च में 1.2% की कमी.
- Uber के ऐक्सेस रेट में 0.575% की बढ़ोतरी हुई. ऐक्सेस रेट का मतलब है कि कितने प्रतिशत डिवाइसों पर, ऐप्लिकेशन की होम स्क्रीन को ऐक्सेस किया जा सका.
- यात्रा पूरी करने वाले डिवाइसों की संख्या में 0.614% की बढ़ोतरी हुई.
आज, Restore Credentials, Uber के राइडर ऐप्लिकेशन का एक स्टैंडर्ड हिस्सा बनने की राह पर है. ट्रायल ग्रुप में शामिल 95% से ज़्यादा उपयोगकर्ताओं ने इसके लिए रजिस्टर किया है.
नया डिवाइस सेट अप करते समय, उपयोगकर्ता बैकअप से ऐप्लिकेशन का डेटा और क्रेडेंशियल वापस पा सकते हैं. रिस्टोर करने के लिए Uber को चुनने और बैकग्राउंड में चल रही प्रोसेस पूरी होने के बाद, ऐप्लिकेशन उपयोगकर्ता को नए डिवाइस पर पहली बार लॉन्च होने पर अपने-आप साइन इन कर देगा.
क्रेडेंशियल रीस्टोर करने की सुविधा का असर
आने वाले महीनों में, Uber की योजना क्रेडेंशियल वापस पाने की सुविधा को ज़्यादा से ज़्यादा लोगों तक पहुंचाने की है. ट्रायल के नतीजों के आधार पर, उनका अनुमान है कि इस बदलाव से हर साल मैन्युअल तरीके से होने वाले 40 लाख लॉगिन कम हो जाएंगे. ऐप्लिकेशन को ऐक्सेस करने की प्रोसेस को आसान बनाकर और एक बड़ी समस्या को हल करके, वे हर राइड के साथ ग्राहकों को ज़्यादा संतुष्ट और भरोसेमंद बना रहे हैं.
Uber के लीड प्रॉडक्ट मैनेजर (कोर आइडेंटिटी), मैट म्यूलर ने कहा, "Google के RestoreCredentials को इंटिग्रेट करने से, हम उपयोगकर्ताओं को नए डिवाइस पर'यह आसानी से काम करता है ' वाला अनुभव दे पाए. उपयोगकर्ता हमसे इसी तरह के अनुभव की उम्मीद करते हैं." “इससे रेवेन्यू में बढ़ोतरी हुई, जिसे मेज़र किया जा सकता है. इससे यह साबित होता है कि लॉगिन की प्रोसेस को आसान बनाने से, उपयोगकर्ताओं की दिलचस्पी और जुड़ाव को बढ़ाया जा सकता है."
क्या आपको अपने ऐप्लिकेशन में लॉगिन करने के अनुभव को बेहतर बनाना है?
Restore Credentials की मदद से, डिवाइस स्विच करने पर लॉगिन करने का आसान अनुभव देने का तरीका जानें. इसके बारे में ज़्यादा जानने के लिए, ब्लॉग पोस्ट पढ़ें. Android Studio Otter के सबसे नए कैनरी वर्शन में, इंटिग्रेशन की पुष्टि की जा सकती है. ऐसा इसलिए, क्योंकि नई सुविधाएं, बैकअप लेने और उसे वापस लाने के तरीकों को मॉक करने में मदद करती हैं.
अगर आपने Credential Manager का इस्तेमाल पहले कभी नहीं किया है, तो इंटिग्रेशन में मदद पाने के लिए हमारा आधिकारिक दस्तावेज़, कोडलैब, और सैंपल देखें
-
केस स्टडीWhatsApp, दुनिया का सबसे बड़ा मैसेजिंग प्लैटफ़ॉर्म है. दुनिया भर में इसके अरबों उपयोगकर्ता हैं. यह अलग-अलग इलाकों में रहने वाले लोगों के लिए, बातचीत करने का डिफ़ॉल्ट टूल है. यह निजी, भरोसेमंद, और सुरक्षित मैसेजिंग के ज़रिए उपयोगकर्ताओं को जोड़ता है.
Niharika Arora, Tracy Agyemang, Mayank Jain • 8 मिनट में पढ़ें -
केस स्टडीX एक सोशल मीडिया ऐप्लिकेशन है. इस पर ताज़ा खबरों और मनोरंजन से लेकर खेल-कूद और राजनीति तक की जानकारी मिलती है. इसका मकसद, दुनिया भर के करीब 50 करोड़ उपयोगकर्ताओं को लाइव कमेंट्री के साथ पूरी जानकारी देना है.
Niharika Arora, Tracy Agyemang • तीन मिनट में पढ़ा जा सकता है -
केस स्टडीGrab, दक्षिण-पूर्व एशिया का एक लोकप्रिय सुपरऐप्लिकेशन है. यह एक ही ऐप्लिकेशन के ज़रिए, आठ देशों में लाखों उपयोगकर्ताओं को डिलीवरी, मोबिलिटी, और वित्तीय सेवाएं देता है.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • पढ़ने में लगने वाला समय: 5 मिनट
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.