بدءًا من نظام التشغيل Android 11، ولوحات المفاتيح وأدوات تحرير أساليب الإدخال الأخرى (أدوات IME) يمكنها عرض اقتراحات الملء التلقائي مضمّنة، أو في شريط الاقتراحات، أو شيئًا مشابهًا بدلاً من أن يعرض النظام الاقتراحات في قائمة. منذ يمكن أن تحتوي اقتراحات الملء التلقائي هذه على بيانات خاصة، مثل كلمات المرور أو معلومات بطاقة الائتمان، فسيتم إخفاء الاقتراحات من أداة IME حتى يصل المستخدم يحدد خيارًا واحدًا. يجب تحديث خدمات IME وخدمات الملء التلقائي، مثل خدمات إدارة كلمات المرور، ل الاستفادة من هذه الميزة. إذا لم يكن IME أو خدمة الملء التلقائي يتيحان ميزة "الملء التلقائي" المضمّنة، يتم عرض الاقتراحات في قائمة، كما هو الحال في الإصدارات الأقدم من Android 11.
سير العمل
في هذا التدفّق، يُقصد بمصطلح IME لوحة المفاتيح الحالية أو محرِّر إدخال آخر، يشير مصطلح موفِّر الاقتراح إلى الموفّر المناسب لاقتراح الملء التلقائي. استنادًا إلى حقل الإدخال وإعدادات المستخدم، قد يكون مقدّم الاقتراحات هو منصّة التطبيق أو خدمة الملء التلقائي.
يركز المستخدم على حقل إدخال يؤدي إلى تشغيل الملء التلقائي، مثل كلمة المرور أو حقل إدخال بطاقة الائتمان.
يطلب النظام الأساسي من IME الحالي وموفّر الاقتراحات المناسب معرفة ما إذا كانا يتيحان ميزة الملء التلقائي المضمّن. إذا لم يكن أسلوب إدخال النص أو مقدّم الاقتراحات يتيحان ميزة الملء التلقائي المضمّن، يتم عرض الاقتراح في قائمة، كما هو الحال في الإصدار 10 من Android والإصدارات الأقدم.
تطلب المنصة من IME تقديم طلب اقتراح. هذا الاقتراح يحدد الطلب الحد الأقصى لعدد الاقتراحات التي سيتم عرضها مواصفات العرض التقديمي لكل اقتراح. مواصفات العرض التقديمي تحديد أشياء مثل الحد الأقصى للحجم وحجم النص والألوان وبيانات الخط، والسماح أن يتطابق موفر الاقتراحات مع شكل ومظهر أداة IME.
تطلب المنصة من مقدِّم الاقتراحات تقديم ما يصل إلى عدد الاقتراحات. يتضمّن كل اقتراح طلب استدعاء لتضخيم
View
يحتوي على واجهة مستخدم الاقتراح.تُعلِم المنصة أداة IME بأنّ الاقتراحات جاهزة. يعرض IME الاقتراحات من خلال استدعاء طريقة الاستدعاء لتضخيم
View
لكل اقتراح. لحماية معلومات المستخدم الخاصة، لا يعرض IME الاقتراحات في هذه المرحلة.إذا اختار المستخدم أحد الاقتراحات، سيتم إعلام أداة IME بنفس الطريقة. كما لو كان المستخدم يختار اقتراحًا من قائمة النظام.
توضّح الأقسام التالية كيفية ضبط IME أو خدمة الملء التلقائي لسماحهما بملء المحتوى تلقائيًا في النص.
ضبط أنظمة الكتابة الآلية (IME) لتتوافق مع ميزة الملء التلقائي المضمّن
يوضِّح هذا القسم كيفية ضبط ميزة 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
لكل اقتراح، وتحديد كيفية تقديم الاقتراح.
عندما تتوفّر اقتراحات على المنصة، تستدعي الطريقة
onInlineSuggestionsResponse()
في IME، مع تمرير ملف
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. ومع ذلك، يجب أن تُطلِق
خدمتك أسلوب
getInlineSuggestionsRequest()
لعنصر FillRequest
الذي تم تمريره للحصول على InlineSuggestionsRequest
الذي أنشأه IME. تشير رسالة الأشكال البيانية
تحدّد الدالة InlineSuggestionsRequest
عدد الاقتراحات المضمَّنة المطلوبة.
وكيف يجب تقديم كل منها. إذا لم يكن IME يتيح الاقتراحات المضمّنة،
تعرض الطريقة القيمة null
.
تنشئ خدمة الملء التلقائي
InlinePresentation
حتى أقصى عدد مطلوب في InlineSuggestionsRequest
.
يجب أن تلتزم عروضك التقديمية بقيود الحجم التي تحدّدها
InlineSuggestionsRequest
. لإرجاع اقتراحاتك إلى أداة IME، اتصل
Dataset.Builder.setValue()
مرة واحدة لكل اقتراح. يوفّر Android 11 إصدارات من
Dataset.Builder.setValue()
لدعم الاقتراحات المضمّنة.