अपने एंड्रॉइड ऐप में पासवर्ड के लिए स्मार्ट लॉक को एकीकृत करने के लिए, आपको अपने ऐप के स्टार्ट-अप और साइन-इन प्रवाह में क्रेडेंशियल एपीआई में कॉल जोड़ना होगा। निम्न आरेख एक विशिष्ट एंड्रॉइड ऐप के प्रवाह को दर्शाता है जो पासवर्ड के लिए स्मार्ट लॉक का उपयोग करता है।
हालांकि पासवर्ड के लिए स्मार्ट लॉक को सफलतापूर्वक एकीकृत करने के कई तरीके हैं, और एकीकरण की बारीकियां ऐप की संरचना और उपयोगकर्ता अनुभव पर निर्भर करती हैं, अधिकांश ऐप के लिए निम्न प्रवाह की सिफारिश की जाती है। इस प्रवाह का उपयोग करने वाले ऐप्स के पास ये उपयोगकर्ता अनुभव लाभ हैं:
- आपकी सेवा के मौजूदा उपयोगकर्ता जिनके पास एक एकल क्रेडेंशियल सहेजा गया है, उन पर तुरंत साइन इन किया जाता है, और जब वे ऐप खोलते हैं, तो वे सीधे साइन-इन दृश्य पर चले जाएंगे।
- जिन उपयोगकर्ताओं के पास कई क्रेडेंशियल सहेजे गए हैं या जिन्होंने एप्लिकेशन के साइन-इन किए गए दृश्य पर जाने से पहले केवल एक संवाद का जवाब देने के लिए स्वचालित साइन-इन अक्षम किया है।
- जिन उपयोगकर्ताओं के पास कोई क्रेडेंशियल सहेजा नहीं गया है या जिन्होंने अभी तक साइन इन नहीं किया है, वे अपना नाम और ईमेल एक ही टैप से ले सकते हैं और होशियारी से या तो साइन-इन या साइन-अप दृश्य में भेजा जा सकता है, इस जानकारी के साथ पूर्व-भरा हुआ है।
- जब उपयोगकर्ता साइन आउट करते हैं, तो ऐप सुनिश्चित करता है कि वे स्वचालित रूप से वापस साइन इन नहीं हैं।
क्रेडेंशियल प्राप्त करें
- जब ऐप शुरू होता है, यदि कोई उपयोगकर्ता पहले से ही साइन इन नहीं है, तो
CredentialsClient.request()
।CredentialsClient.request()
कॉल करें। - यदि
Task
सफल होता है, तोgetResult().getCredential()
साथ उपयोगकर्ता की क्रेडेंशियल्स प्राप्त करें और साइन इन करने के लिए उनका उपयोग करें। - यदि
Task
विफल रहता है और अपवाद का एक उदाहरण हैResolvableApiException
औरgetStatusCode()
रिटर्नRESOLUTION_REQUIRED
, उपयोगकर्ता इनपुट एक क्रेडेंशियल लेने के लिए आवश्यक है। उपयोगकर्ता को सहेजे गए खाते का चयन करने के लिए प्रांप्ट करने के लिएstartResolutionForResult()
पर कॉल करें, फिरgetParcelableExtra(Credential.EXTRA_KEY)
को उपयोगकर्ता की क्रेडेंशियल्स प्राप्त करने और साइन इन करने के लिए उपयोग करें।
साख बचाओ
यदि
Task
ApiException
साथ विफल हो जाता है औरgetStatusCode()
SIGN_IN_REQUIRED
लौटाता है, तो उपयोगकर्ता के पास कोई सहेजे गए क्रेडेंशियल नहीं हैं और अपने वर्तमान साइन-इन या साइन-अप प्रवाह का उपयोग करके मैन्युअल रूप से साइन इन या साइन अप करना होगा। उपयोगकर्ता द्वारा साइन इन सफलतापूर्वक पूरा करने के बाद, आप उपयोगकर्ता को भविष्य की पुनर्प्राप्ति (चरण 5) के लिए अपनी साख बचाने के लिए एक अवसर प्रदान कर सकते हैं।आप उपयोगकर्ता के ईमेल पते जैसे साइन-इन संकेत प्राप्त करके उपयोगकर्ता साइन इन या तेज़ी से और अधिक आसानी से साइन अप कर सकते हैं। उपयोगकर्ता संकेत का चयन कर सकता है और अपनी साख लिखना छोड़ सकता है। यदि आपके ऐप को उपयोगकर्ताओं को साइन इन करने की आवश्यकता है, तो आप प्रारंभिक क्रेडेंशियल अनुरोध विफल होने के तुरंत बाद संकेत प्राप्त करने का विकल्प चुन सकते हैं (अन्यथा, आप तब तक इंतजार कर सकते हैं जब तक उपयोगकर्ता साइन-इन या साइन-अप प्रवाह शुरू नहीं करता है)।
-
CredentialsClient.getHintPickerIntent()
कॉल करें और उपयोगकर्ता को खाता चुनने के लिए संकेत देने का इरादा शुरू करें, फिर साइन-इन संकेत प्राप्त करने के लिएgetParcelableExtra(Credential.EXTRA_KEY)
को कॉल करें। - यदि संकेत का उपयोगकर्ता आईडी मौजूदा उपयोगकर्ता से मेल खाता है, तो उसके साथ साइन-इन फॉर्म भरें और उपयोगकर्ता को साइन इन करने के लिए पासवर्ड दर्ज करने दें।
- यदि संकेत का उपयोगकर्ता आईडी मौजूदा उपयोगकर्ता से मेल नहीं खाता है, तो उपयोगकर्ता के आईडी और नाम के साथ साइन-अप फ़ॉर्म भरें और उपयोगकर्ता को एक नया खाता बनाने दें।
-
उपयोगकर्ता द्वारा सफलतापूर्वक साइन इन करने या खाता बनाने के बाद,
CredentialsClient.save()
।CredentialsClient.save()
साथ उपयोगकर्ता आईडी और पासवर्ड सहेजें।यदि उपयोगकर्ता किसी फ़ेडरेटेड पहचान प्रदाता जैसे Google साइन-इन के साथ साइन इन करता है, तो आईडी के रूप में उपयोगकर्ता के ईमेल पते के साथ
Credential
ऑब्जेक्ट बनाएं औरsetAccountType
साथ पहचान प्रदाता निर्दिष्ट करें।
प्रस्थान करें
- जब उपयोगकर्ता साइन आउट करता है, तो उपयोगकर्ता को वापस साइन इन होने से रोकने के लिए
CredentialsClient.disableAutoSignIn()
पर कॉल करें। स्वतः-साइन-इन को अक्षम करना उपयोगकर्ताओं को आसानी से खातों के बीच स्विच करने में सक्षम बनाता है- उदाहरण के लिए, काम और व्यक्तिगत खातों के बीच, या खातों के बीच। साझा किए गए उपकरणों पर- बिना उनके साइन-इन जानकारी को फिर से दर्ज किए।
अपने ऐप में पासवर्ड के लिए स्मार्ट लॉक को एकीकृत करने के लिए तैयार हैं? आरंभ करें ।