Android 11 से, कीबोर्ड और अन्य इनपुट-मेथड एडिटर (IME) ऑटोमैटिक भरने की सुविधा के सुझावों को इनलाइन, सुझाव स्ट्रिप या इसी तरह की किसी अन्य जगह पर दिखा सकते हैं. इसके बजाय, सिस्टम सुझावों को मेन्यू में दिखाता है. ऑटोमैटिक भरने के सुझावों में निजी डेटा शामिल हो सकता है. जैसे, पासवर्ड या क्रेडिट कार्ड की जानकारी. इसलिए, जब तक उपयोगकर्ता किसी सुझाव को नहीं चुनता, तब तक ये सुझाव IME से छिपे रहते हैं. इस सुविधा का इस्तेमाल करने के लिए, आईएमई और ऑटोमैटिक भरने की सेवाओं को अपडेट करें. जैसे, Password Manager. अगर कोई IME या ऑटोमैटिक भरने की सेवा, इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम नहीं करती है, तो सुझाव मेन्यू में दिखाए जाते हैं. जैसे, Android 11 से पहले के वर्शन में दिखाए जाते थे.
वर्कफ़्लो
इस फ़्लो में, IME का मतलब मौजूदा कीबोर्ड या अन्य इनपुट एडिटर से है. वहीं, सुझाव देने वाली कंपनी का मतलब, फ़ॉर्म अपने-आप भरने के सुझाव देने वाली सही कंपनी से है. इनपुट फ़ील्ड और उपयोगकर्ता की सेटिंग के आधार पर, सुझाव देने वाला प्लैटफ़ॉर्म या अपने-आप भरने की सुविधा हो सकती है.
उपयोगकर्ता, किसी ऐसे इनपुट फ़ील्ड पर फ़ोकस करता है जिसमें ऑटोमैटिक भरने की सुविधा चालू होती है. जैसे, पासवर्ड या क्रेडिट कार्ड का इनपुट फ़ील्ड.
प्लैटफ़ॉर्म, मौजूदा IME और सुझाव देने वाली सेवा से यह पूछता है कि क्या वे इनलाइन ऑटिफ़िल की सुविधा के साथ काम करते हैं. अगर IME या सुझाव देने वाली सुविधा, इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम नहीं करती है, तो सुझाव को Android 10 और इससे पहले के वर्शन की तरह मेन्यू में दिखाया जाता है.
प्लैटफ़ॉर्म, IME से सुझाव का अनुरोध करता है. सुझाव के लिए किए गए इस अनुरोध में, दिखाए जाने वाले सुझावों की ज़्यादा से ज़्यादा संख्या के बारे में बताया गया है. साथ ही, हर सुझाव के लिए प्रज़ेंटेशन स्पेसिफ़िकेशन भी दिए गए हैं. प्रज़ेंटेशन स्पेसिफ़िकेशन में, ज़्यादा से ज़्यादा साइज़, टेक्स्ट साइज़, रंग, और फ़ॉन्ट डेटा जैसी चीज़ों के बारे में बताया जाता है. इससे सुझाव देने वाली कंपनी, IME के लुक और फ़ील से मेल खाने वाले सुझाव दे पाती है.
प्लैटफ़ॉर्म, सुझाव देने वाली कंपनी से अनुरोध करता है कि वह अनुरोध किए गए सुझावों की संख्या के हिसाब से सुझाव दे. हर सुझाव में,
View
को बड़ा करने के लिए एक कॉलबैक शामिल होता है. इसमें सुझाव का यूज़र इंटरफ़ेस (यूआई) होता है.प्लैटफ़ॉर्म, IME को सूचना देता है कि सुझाव तैयार हैं. IME, हर सुझाव के
View
को बड़ा करने के लिए, कॉलबैक तरीके को कॉल करके सुझाव दिखाता है. उपयोगकर्ता की निजी जानकारी को सुरक्षित रखने के लिए, IME इस चरण में यह नहीं देखता कि सुझाव क्या हैं.अगर उपयोगकर्ता किसी सुझाव को चुनता है, तो IME को उसी तरह से सूचना दी जाती है जैसे उपयोगकर्ता सिस्टम मेन्यू से कोई सुझाव चुनता है.
यहां दिए गए सेक्शन में, इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम करने के लिए, अपने आईएमई या ऑटोमैटिक भरने की सेवा को कॉन्फ़िगर करने का तरीका बताया गया है.
इनलाइन ऑटोफ़िल की सुविधा के लिए, IME कॉन्फ़िगर करना
इस सेक्शन में, इनलाइन ऑटिफ़िल की सुविधा के साथ काम करने के लिए, IME को कॉन्फ़िगर करने का तरीका बताया गया है. अगर आपका IME, इनलाइन ऑटोफ़िल की सुविधा के साथ काम नहीं करता है, तो प्लैटफ़ॉर्म डिफ़ॉल्ट रूप से मेन्यू में ऑटोफ़िल के सुझाव दिखाता है.
आपके IME को supportsInlinedSuggestions
एट्रिब्यूट को true
पर सेट करना होगा:
<input-method
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true"/>
जब प्लैटफ़ॉर्म को अपने-आप जानकारी भरने की सुविधा के सुझाव की ज़रूरत होती है, तब वह आपके IME के InputMethodService.onCreateInlineSuggestionsRequest()
तरीके को कॉल करता है. आपको इस तरीके को लागू करना होगा. InlineSuggestionsRequest
वापस भेजें और इसमें यह जानकारी दें:
- आपके आईएमई को कितने सुझाव चाहिए.
हर सुझाव के लिए एक
InlinePresentationSpec
होना चाहिए. इससे यह तय होता है कि सुझाव को कैसे दिखाया जाना चाहिए.
जब प्लैटफ़ॉर्म के पास सुझाव होते हैं, तो वह आपके IME के onInlineSuggestionsResponse()
तरीके को कॉल करता है. साथ ही, सुझावों वाला InlineSuggestionsResponse
पास करता है. आपको इस तरीके को लागू करना होगा. अपने कोड में, सुझावों की सूची पाने के लिए InlineSuggestionsResponse.getInlineSuggestions()
को कॉल करें. इसके बाद, हर सुझाव को बड़ा करने के लिए, उसके InlineSuggestion.inflate()
तरीके को कॉल करें.
इनलाइन ऑटोफ़िल की सुविधा के लिए, ऑटोफ़िल की सेवाएं कॉन्फ़िगर करना
इस सेक्शन में, पासवर्ड अपने-आप भरने की सेवा को कॉन्फ़िगर करने का तरीका बताया गया है, ताकि इनलाइन पासवर्ड अपने-आप भरने की सुविधा काम कर सके. अगर आपका ऐप्लिकेशन इनलाइन ऑटिफ़िल की सुविधा के साथ काम नहीं करता है, तो प्लैटफ़ॉर्म डिफ़ॉल्ट रूप से, ऑटिफ़िल के सुझावों को मेन्यू में दिखाता है.
ऑटोमैटिक भरने की सुविधा देने वाली सेवा को supportsInlinedSuggestions
एट्रिब्यूट को true
पर सेट करना होगा:
<autofill-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsInlineSuggestions="true"/>
जब IME को अपने-आप भरने की सुविधा के सुझावों की ज़रूरत होती है, तो प्लैटफ़ॉर्म आपकी अपने-आप भरने की सुविधा वाली सेवा के onFillRequest()
तरीके को कॉल करता है. ऐसा ही Android 11 से पहले के वर्शन में भी होता है. हालांकि, आपकी सेवा को पास किए गए FillRequest
ऑब्जेक्ट के getInlineSuggestionsRequest()
तरीके को कॉल करना होगा, ताकि IME से बनाया गया InlineSuggestionsRequest
मिल सके. InlineSuggestionsRequest
से यह तय होता है कि कितने इनलाइन सुझावों की ज़रूरत है और हर सुझाव को कैसे दिखाया जाना चाहिए. अगर IME, इनलाइन सुझावों के साथ काम नहीं करता है, तो यह तरीका null
दिखाता है.
ऑटोफ़िल सेवा, InlinePresentation
ऑब्जेक्ट बनाती है. इनकी संख्या, InlineSuggestionsRequest
में अनुरोध की गई ज़्यादा से ज़्यादा संख्या तक होती है.
आपके प्रज़ेंटेशन, InlineSuggestionsRequest
के तय किए गए साइज़ से जुड़े नियमों का पालन करते हों. अपने सुझावों को IME पर वापस लाने के लिए, हर सुझाव के लिए Dataset.Builder.setValue()
को एक बार कॉल करें. Android 11 में, इनलाइन सुझावों की सुविधा के लिए Dataset.Builder.setValue()
के वर्शन उपलब्ध हैं.