Otomatik doldurmayı IME'ler ve otomatik doldurma hizmetleriyle entegre edin

Android 11'den itibaren klavyeler ve diğer giriş yöntemi düzenleyiciler (IME'ler), sistem önerileri bir menüde göstermek yerine otomatik doldurma önerilerini satır içi, öneri şeridinde veya benzer bir yerde gösterebilir. Bu otomatik doldurma önerileri şifre veya kredi kartı bilgileri gibi özel veriler içerebileceğinden, kullanıcı bir öneriyi seçene kadar öneriler IME'den gizlenir. Bu özelliği kullanmak için IME'leri ve şifre yöneticileri gibi otomatik doldurma hizmetlerini güncelleyin. Satır içi otomatik doldurmayı desteklemeyen bir IME veya otomatik doldurma hizmeti varsa öneriler, Android 11'den önceki sürümlerde olduğu gibi bir menüde gösterilir.

İş akışı

Bu akışta IME, mevcut klavye veya başka bir giriş düzenleyiciyi, öneri sağlayıcı ise otomatik doldurma önerisinin uygun sağlayıcısını ifade eder. Giriş alanına ve kullanıcının ayarlarına bağlı olarak öneri sağlayıcı platform veya otomatik doldurma hizmeti olabilir.

  1. Kullanıcı, otomatik doldurmayı tetikleyen bir giriş alanına (ör. şifre veya kredi kartı giriş alanına girin.

  2. Platform, satır içi otomatik doldurmayı destekleyip desteklemediklerini görmek için mevcut IME'yi ve uygun öneri sağlayıcıyı sorgular. IME veya öneri sağlayıcı satır içi otomatik doldurmayı desteklemiyorsa öneri, Android 10 ve önceki sürümlerde olduğu gibi bir menüde gösterilir.

  3. Platform, IME'den öneri isteği göndermesini ister. Bu öneri isteği, gösterilecek maksimum öneri sayısını belirtir ve her öneri için sunum özelliklerini sağlar. Sunu özellikleri, maksimum boyut, metin boyutu, renkler ve yazı tipi verileri gibi öğeleri belirtir. Bu sayede öneri sağlayıcı, IME'nin görünümünü ve tarzını eşleştirebilir.

  4. Platform, öneri sağlayıcıdan istenen sayıda öneri sunmasını ister. Her öneride, Önerinin kullanıcı arayüzünü içeren View.

  5. Platform, IME'yi önerilerin hazır olduğu konusunda bilgilendirir. IME, her önerinin View değerini doldurmak için geri çağırma yöntemini çağırarak önerileri gösterir. Kullanıcının özel bilgilerini korumak için IME, görmez bu aşamada neler olduğunu belirleyebilirsiniz.

  6. Kullanıcı önerilerden birini seçerse IME, kullanıcı bir sistem menüsünden öneri seçiyormuş gibi bilgilendirilir.

Aşağıdaki bölümlerde, satır içi otomatik doldurmayı desteklemek için IME'nizi veya otomatik doldurma hizmetinizi nasıl yapılandıracağınız açıklanmaktadır.

Satır içi otomatik doldurmayı desteklemek için IME'leri yapılandırma

Bu bölümde, satır içi otomatik doldurmayı desteklemek için IME'nizi nasıl yapılandıracağınız açıklanmaktadır. IME'niz satır içi otomatik doldurmayı desteklemiyorsa platform varsayılan olarak otomatik doldurma önerilerini bir menüde gösterir.

IME'niz, supportsInlinedSuggestions özelliğini true:

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

Platform otomatik doldurma önerisine ihtiyaç duyduğunda IME'nizin InputMethodService.onCreateInlineSuggestionsRequest() yöntemidir. Bu yöntemi uygulamanız gerekir. Aşağıdakileri belirten bir InlineSuggestionsRequest döndürün:

  • IME'nizin kaç öneri istediğini belirtir.
  • Her öneri için, önerinin nasıl sunulacağını tanımlayan bir InlinePresentationSpec

Platformda öneriler varsa IME'lerinizi çağırır. onInlineSuggestionsResponse() yöntemini kullanarak InlineSuggestionsResponse bir liste oluşturabilirsiniz. Bu yöntemi uygulamanız gerekir. uygulama, çağrı, uygulama InlineSuggestionsResponse.getInlineSuggestions() sonra öneri listesini çağırarak her öneriyi şişirin InlineSuggestion.inflate() yöntemidir.

Satır içi otomatik doldurmayı desteklemek için otomatik doldurma hizmetlerini yapılandırma

Bu bölümde, satır içi otomatik doldurmayı desteklemek için otomatik doldurma hizmetinizi nasıl yapılandıracağınız açıklanmaktadır. Uygulamanız satır içi otomatik doldurmayı desteklemiyorsa platform, otomatik doldurma önerilerini varsayılan olarak bir menüde gösterir.

Otomatik doldurma hizmetiniz supportsInlinedSuggestions özelliğini true olarak ayarlamalıdır:

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

IME'nin otomatik doldurma önerilerine ihtiyacı olduğunda platform, Android 11'in altındaki sürümlerde olduğu gibi otomatik doldurma hizmetinizin onFillRequest() yöntemini çağırır. Ancak, hizmet, iletilen FillRequest nesnesinin getInlineSuggestionsRequest() yöntemini kullanabilirsiniz.InlineSuggestionsRequest InlineSuggestionsRequest, kaç satır içi öneriye ihtiyaç duyulduğunu ve her birinin nasıl sunulacağını belirtir. IME, satır içi önerileri desteklemiyorsa yöntem null değerini döndürür.

Otomatik doldurma hizmetiniz şunları oluşturur: InlinePresentation InlineSuggestionsRequest içinde istenen maksimum sayıya kadar. Sunularınız InlineSuggestionsRequest Önerilerinizi IME'ye geri döndürmek için şu numarayı arayın: Dataset.Builder.setValue() her öneri için bir kez. Android 11, satır içi önerileri desteklemek için Dataset.Builder.setValue() sürümleri sağlar.