Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Mengintegrasikan isi otomatis dengan keyboard

Mulai di Android 11, keyboard dan editor metode input (IME) lainnya dapat menampilkan saran isi otomatis secara inline, di strip saran atau antarmuka serupa, bukan di sistem yang menampilkannya di menu drop-down. Karena saran isi otomatis ini dapat berisi data pribadi, seperti sandi atau informasi kartu kredit, saran disembunyikan dari IME sampai pengguna memilih salah satu. IME dan pengelola sandi harus diupdate untuk memanfaatkan fitur ini. Jika IME atau pengelola sandi tidak mendukung isi otomatis secara inline, saran akan ditampilkan di menu drop-down, seperti sebelum Android 11.

Alur Kerja

Untuk memahami cara kerja isi otomatis secara inline, sebaiknya Anda mempelajari proses ini. Dalam alur ini, IME berarti keyboard atau editor input lainnya saat ini, dan penyedia saran berarti penyedia saran isi otomatis yang sesuai. Bergantung pada kolom input dan setelan pengguna, penyedia saran mungkin merupakan platform atau layanan isi otomatis.

  1. Pengguna fokus pada kolom input yang memicu isi otomatis, seperti kolom input sandi atau kartu kredit.

  2. Platform membuat kueri IME saat ini dan penyedia saran yang sesuai untuk melihat apakah mereka mendukung isi otomatis secara inline. Jika IME atau penyedia saran tidak mendukung isi otomatis secara inline, saran akan ditampilkan di menu drop-down, seperti pada Android 10 dan yang lebih rendah.

  3. Platform meminta IME untuk menyediakan permintaan saran. Permintaan saran ini menentukan jumlah maksimum saran yang diinginkan IME, dan juga menyediakan spesifikasi presentasi untuk setiap saran. Spesifikasi presentasi menentukan hal seperti ukuran maksimum, ukuran teks, warna, dan data font, yang memungkinkan penyedia saran untuk mencocokkan tampilan dan suasana IME.

  4. Platform meminta penyedia saran untuk menyediakan hingga sejumlah saran yang diminta. Setiap saran meliputi callback untuk meng-inflate View yang berisi UI saran.

  5. Platform memberi tahu IME bahwa saran sudah siap. IME menampilkan saran dengan memanggil metode callback untuk meng-inflate setiap View saran. Untuk melindungi informasi pribadi pengguna, IME tidak melihat saran tersebut pada di tahap ini.

  6. Jika pengguna memilih salah satu saran, IME akan diberi tahu dengan cara yang sama seperti jika pengguna telah memilih saran dari menu drop-down.

Bagian berikut menjelaskan cara mengonfigurasi IME atau pengelola sandi untuk mendukung isi otomatis secara inline.

Mengonfigurasi IME untuk mendukung isi otomatis inline

Bagian ini menjelaskan cara mengonfigurasi IME Anda untuk mendukung isi otomatis secara inline. Jika IME Anda tidak mendukung isi otomatis secara inline, platform secara default akan menampilkan saran isi otomatis di menu drop-down.

IME Anda harus menetapkan atribut supportsInlinedSuggestions ke true:

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

Jika platform memerlukan saran isi otomatis, platform akan memanggil metode InputMethodService.onCreateInlineSuggestionsRequest() IME Anda. Anda harus mengimplementasikan metode ini. Tampilkan InlineSuggestionsRequest yang menentukan hal berikut:

  • Jumlah saran yang diinginkan IME Anda
  • InlinePresentationSpec untuk setiap saran, yang menentukan cara saran harus ditampilkan

Jika memiliki saran, platform akan memanggil metode onInlineSuggestionsResponse() IME, dengan meneruskan InlineSuggestionsResponse yang berisi saran. Anda harus mengimplementasikan metode ini. Penerapan Anda memanggil InlineSuggestionsResponse.getInlineSuggestions() untuk mendapatkan daftar saran, lalu meng-inflate setiap saran dengan memanggil metode InlineSuggestion.inflate().

Mengonfigurasi layanan isi otomatis untuk mendukung isi otomatis inline

Bagian ini menjelaskan cara mengonfigurasi pengelola sandi untuk mendukung isi otomatis secara inline. Jika aplikasi Anda tidak mendukung IsiOtomatis inline, platform ini secara default akan menampilkan saran isi otomatis dalam menu drop-down.

Pengelola sandi Anda harus menetapkan atribut supportsInlinedSuggestions ke true:

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

Saat IME memerlukan saran isi otomatis, platform akan memanggil metode onFillRequest() layanan isi otomatis, sama seperti sebelum Android 11. Namun, layanan Anda harus memanggil FillRequest objek metode getInlineSuggestionsRequest() untuk mendapatkan InlineSuggestionsRequest yang dibuat oleh IME. InlineSuggestionsRequest menentukan jumlah saran inline yang diperlukan, dan bagaimana setiap saran harus ditampilkan. Jika IME tidak mendukung saran inline, metode akan menampilkan null.

Layanan isi otomatis Anda membuat InlinePresentation objek, hingga jumlah maksimum yang diminta dalam InlineSuggestionsRequest. Presentasi Anda harus mematuhi batasan ukuran yang ditentukan oleh InlineSuggestionsRequest. Untuk menunjukkan saran Anda kepada IME, panggil Dataset.Builder.setValue() satu kali untuk setiap saran. Android 11 menyediakan versi baru Dataset.Builder.setValue() untuk mendukung saran inline.

Catatan: Meskipun IME seharusnya menggunakan saran yang diberikan layanan Anda, tidak ada jaminan bahwa IME akan melakukannya.