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) otomatik doldurma önerilerini satır içinde, bir öneri şeridinde veya menüde öneriler gösteren sistem yerine benzer bir şekilde görüntüleyebilir. Bu otomatik doldurma önerileri şifre veya kredi kartı bilgileri gibi özel veriler içerebileceği için kullanıcı bir tane seçene kadar öneriler IME'de gizlenir. Bu özellikten yararlanabilmek için IME'leri ve şifre yöneticileri gibi otomatik doldurma hizmetlerini güncelleyin. IME veya otomatik doldurma hizmeti, satır içi otomatik doldurmayı desteklemiyorsa ö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üzenleyici, öneri sağlayıcı ise otomatik doldurma önerisinin uygun sağlayıcısı anlamına gelir. Giriş alanına ve kullanıcının ayarlarına bağlı olarak öneri sağlayıcı, platform veya bir otomatik doldurma hizmeti olabilir.

  1. Kullanıcı, şifre veya kredi kartı giriş alanı gibi otomatik doldurmayı tetikleyen bir giriş alanına odaklanır.

  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 bir öneri isteği sağlamasını ister. Bu öneri isteği, görüntülenecek maksimum öneri sayısını belirtir ve ayrıca her öneri için sunum özelliklerini de sağlar. Sunum özellikleri; maksimum boyut, metin boyutu, renkler ve yazı tipi verileri gibi öğeleri belirterek öneri sağlayıcının IME'nin görünümü ve tarzıyla eşleşmesini sağlar.

  4. Platform, öneri sağlayıcıdan istenen sayıda öneri sağlamasını ister. Her öneri, önerinin kullanıcı arayüzünü içeren bir View öğesini genişletmek için bir geri çağırma içerir.

  5. Platform, önerilerin hazır olduğunu IME'ye bildirir. IME, her bir önerinin View değerini artırmak için geri çağırma yöntemini çağırarak önerileri görüntüler. Kullanıcının özel bilgilerini korumak için IME, bu aşamada önerilerin ne olduğunu görmez.

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

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

IME'leri satır içi otomatik doldurmayı destekleyecek şekilde yapılandırma

Bu bölümde, satır içi otomatik doldurmayı destekleyecek şekilde 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 bir menüde otomatik doldurma önerilerini gösterir.

IME'niz supportsInlinedSuggestions özelliğini true olarak ayarlamalıdır:

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

Platformda otomatik doldurma önerisi gerektiğinde IME'nizin InputMethodService.onCreateInlineSuggestionsRequest() yöntemini çağırır. Bu yöntemi uygulamanız gerekir. Aşağıdakileri belirten bir InlineSuggestionsRequest döndürün:

  • IME'nizin kaç öneri istediği.
  • Her öneri için önerinin nasıl sunulması gerektiğini tanımlayan bir InlinePresentationSpec.

Platformda öneriler olduğunda, önerileri içeren bir InlineSuggestionsResponse ileterek IME'nizin onInlineSuggestionsResponse() yöntemini çağırır. Bu yöntemi uygulamanız gerekir. Uygulamanızda, öneri listesini almak için InlineSuggestionsResponse.getInlineSuggestions() numaralı telefonu arayın ve ardından InlineSuggestion.inflate() yöntemini çağırarak her bir öneriyi artırın.

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

Bu bölümde, satır içi otomatik doldurmayı destekleyecek şekilde otomatik doldurma hizmetinizi nasıl yapılandıracağınız açıklanmaktadır. Uygulamanız satır içi otomatik doldurmayı desteklemiyorsa platform varsayılan olarak otomatik doldurma önerilerini 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 için otomatik doldurma önerileri gerektiğinde platform, Android 11'in altındaki sürümlerde olduğu gibi otomatik doldurma hizmetinizin onFillRequest() yöntemini çağırır. Ancak hizmetiniz, IME tarafından oluşturulan InlineSuggestionsRequest öğesini almak için iletilen FillRequest nesnesinin getInlineSuggestionsRequest() yöntemini çağırmalıdır. InlineSuggestionsRequest, kaç satır içi önerinin gerekli olduğunu ve her bir önerinin nasıl sunulması gerektiğini belirtir. IME satır içi önerileri desteklemiyorsa yöntem null değerini döndürür.

Otomatik doldurma hizmetiniz, InlineSuggestionsRequest içinde istenen maksimum sayıya kadar InlinePresentation nesne oluşturur. Sunularınız, InlineSuggestionsRequest ile belirtilen boyut kısıtlamalarına uymalıdır. Önerilerinizi IME'ye döndürmek üzere her öneri için bir kez Dataset.Builder.setValue() numarasını arayın. Android 11, satır içi önerileri desteklemek için Dataset.Builder.setValue() sürümlerini sunar.