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

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

वर्कफ़्लो

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

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

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

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

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

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

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

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

इनलाइन ऑटोमैटिक भरने की सुविधा के साथ काम करने के लिए, आईएमई कॉन्फ़िगर करना

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

आपके IME को supportsInlinedSuggestions एट्रिब्यूट को true पर सेट करना चाहिए:

<input-method
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsInlineSuggestions="true"/>

जब प्लैटफ़ॉर्म को अपने-आप जानकारी भरने का सुझाव चाहिए होता है, तो वह आपके IME के InputMethodService.onCreateInlineSuggestionsRequest() तरीके को कॉल करता है. आपको यह तरीका लागू करना होगा. इनके बारे में बताने वाला InlineSuggestionsRequest रिटर्न करें:

  • आपके IME को कितने सुझाव चाहिए.
  • हर सुझाव के लिए एक 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 से पहले के वर्शन में होता है. हालांकि, आपकी सेवा को IME से बनाया गया InlineSuggestionsRequest पाने के लिए, पास किए गए FillRequest ऑब्जेक्ट के getInlineSuggestionsRequest() तरीके को कॉल करना होगा. InlineSuggestionsRequest से यह तय होता है कि इनलाइन सुझावों की संख्या कितनी होनी चाहिए और हर सुझाव को कैसे दिखाया जाना चाहिए. अगर IME, इनलाइन सुझावों के साथ काम नहीं करता है, तो यह तरीका null दिखाता है.

ऑटोमैटिक भरने की सुविधा, InlineSuggestionsRequest में अनुरोध की गई ज़्यादा से ज़्यादा संख्या तक InlinePresentation ऑब्जेक्ट बनाती है. आपके प्रज़ेंटेशन, InlineSuggestionsRequest के तय किए गए साइज़ की सीमाओं के मुताबिक होने चाहिए. सुझावों को IME में वापस लाने के लिए, हर सुझाव के लिए एक बार Dataset.Builder.setValue() दबाएं. इनलाइन सुझावों के साथ काम करने के लिए, Android 11 में Dataset.Builder.setValue() के वर्शन उपलब्ध हैं.