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 को 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() के वर्शन उपलब्ध हैं.