अपने-आप जानकारी भरने की सुविधा को आईएमई और अपने-आप जानकारी भरने की सेवाओं के साथ इंटिग्रेट करना

Android 11 से, कीबोर्ड और अन्य इनपुट-मेथड एडिटर (IME), ऑटोमैटिक भरने के सुझावों को इनलाइन, सुझाव वाली पट्टी या इसी तरह की किसी अन्य जगह पर दिखा सकते हैं. इसके बजाय, सिस्टम सुझावों को मेन्यू में दिखाता है. ऑटोमैटिक भरने के सुझावों में निजी डेटा शामिल हो सकता है. जैसे, पासवर्ड या क्रेडिट कार्ड की जानकारी. इसलिए, जब तक उपयोगकर्ता किसी सुझाव को नहीं चुनता, तब तक ये सुझाव IME से छिपे रहते हैं. इस सुविधा का इस्तेमाल करने के लिए, आईएमई और ऑटोमैटिक भरने की सेवाओं को अपडेट करें. जैसे, Password Manager. अगर कोई IME या ऑटोमैटिक भरने वाली सेवा, इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम नहीं करती है, तो सुझाव मेन्यू में दिखते हैं. जैसे, Android 11 से पहले के वर्शन में दिखते थे.

वर्कफ़्लो

इस फ़्लो में, IME का मतलब मौजूदा कीबोर्ड या अन्य इनपुट एडिटर से है. वहीं, सुझाव देने वाली सेवा का मतलब, ऑटोमैटिक तरीके से भरने की सुविधा के लिए सही सुझाव देने वाली सेवा से है. इनपुट फ़ील्ड और उपयोगकर्ता की सेटिंग के आधार पर, सुझाव देने वाला प्लैटफ़ॉर्म या अपने-आप भरने की सुविधा हो सकती है.

  1. जब उपयोगकर्ता किसी ऐसे इनपुट फ़ील्ड पर फ़ोकस करता है जिसमें ऑटोमैटिक भरने की सुविधा चालू होती है. जैसे, पासवर्ड या क्रेडिट कार्ड का इनपुट फ़ील्ड.

  2. प्लैटफ़ॉर्म, मौजूदा IME और सुझाव देने वाली सेवा से यह क्वेरी करता है कि क्या वे इनलाइन ऑटोटाइप की सुविधा के साथ काम करते हैं. अगर IME या सुझाव देने वाली सुविधा, इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम नहीं करती है, तो सुझाव को Android 10 और इससे पहले के वर्शन की तरह मेन्यू में दिखाया जाता है.

  3. प्लैटफ़ॉर्म, IME से सुझाव का अनुरोध करता है. सुझाव के लिए किए गए इस अनुरोध में, दिखाए जाने वाले सुझावों की ज़्यादा से ज़्यादा संख्या के बारे में बताया गया है. साथ ही, इसमें हर सुझाव के लिए प्रज़ेंटेशन स्पेसिफ़िकेशन भी दिए गए हैं. प्रज़ेंटेशन स्पेसिफ़िकेशन में, ज़्यादा से ज़्यादा साइज़, टेक्स्ट साइज़, रंग, और फ़ॉन्ट डेटा जैसी चीज़ें शामिल होती हैं. इससे सुझाव देने वाली कंपनी, IME के लुक और फ़ील से मेल खाने वाले सुझाव दे पाती है.

  4. प्लैटफ़ॉर्म, सुझाव देने वाली कंपनी से अनुरोध करता है कि वह अनुरोध किए गए सुझावों की संख्या के हिसाब से सुझाव दे. हर सुझाव में, View को बड़ा करने के लिए एक कॉलबैक शामिल होता है. इसमें सुझाव का यूज़र इंटरफ़ेस (यूआई) होता है.

  5. प्लैटफ़ॉर्म, IME को सूचना देता है कि सुझाव तैयार हैं. IME, हर सुझाव के View को बड़ा करने के लिए, कॉलबैक तरीके को कॉल करके सुझाव दिखाता है. उपयोगकर्ता की निजी जानकारी को सुरक्षित रखने के लिए, IME इस चरण में यह नहीं देखता कि सुझाव क्या हैं.

  6. अगर उपयोगकर्ता कोई सुझाव चुनता है, तो आईएमई को उसी तरह से सूचना दी जाती है जैसे उपयोगकर्ता सिस्टम मेन्यू से कोई सुझाव चुनता है.

नीचे दिए गए सेक्शन में, इनलाइन ऑटोमैटिक भरने की सुविधा के लिए, अपने आईएमई या ऑटोमैटिक भरने की सेवा को कॉन्फ़िगर करने का तरीका बताया गया है.

इनलाइन ऑटोमैटिक भरने की सुविधा के लिए, 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() के वर्शन उपलब्ध कराए गए हैं.