تتيح "المهام في التطبيقات" للمستخدمين التحدث إلى "مساعد Google" والانتقال مباشرةً إلى وجهات تطبيق محدّدة عند قول عبارات مثل "Ok Google، أريد طلب سيارة من خلال تطبيق كذا". من خلال استدعاء التطبيقات التي تعمل في المقدّمة، يمكنك تحسين التجربة عندما يكون التطبيق مفتوحًا لدى المستخدم.
يتيح استدعاء التطبيقات التي تعمل في المقدّمة مطابقة الأهداف المدمَجة بدون طلب ذكر اسم التطبيق أثناء ظهور نشاط معيّن في مقدّمة الجهاز.
على سبيل المثال، عندما يكون التطبيق الخاص بمشاركة الرحلات في المقدّمة يظهر للمستخدم، يقول أو يكتب "اطلب لي رحلة إلى ماونتن فيو" إلى "مساعد Google". يستخدم تطبيقك هذا الإدخال لضبط حقل الوجهة على Mountain View. بعد ذلك، عندما يقول المستخدم أو يكتب: "اطلب سيارة من SFO"، يمكن لتطبيقك ضبط الموقع الجغرافي للاستلام مع الحفاظ على حالة تطبيقك.
القيود
لا يتوفّر استدعاء التطبيقات التي تعمل في المقدّمة إلا للأرقام التالية:
actions.intent.CREATE_MONEY_TRANSFER
actions.intent.CREATE_TAXI_RESERVATION
actions.intent.OPEN_APP_FEATURE
actions.intent.ORDER_MENU_ITEM
actions.intent.PAUSE_EXERCISE
actions.intent.RECORD_EXERCISE
actions.intent.RECORD_FOOD_OBSERVATION
actions.intent.RESUME_EXERCISE
actions.intent.START_EXERCISE
actions.intent.STOP_EXERCISE
للحصول على دعم اللغة وأمثلة على طلبات البحث ذات الصلة باستدعاء التطبيق الذي يعمل في المقدّمة لمؤشر BII محدَّد، يُرجى الاطّلاع على مرجع الغرض المضمَّن.
إتاحة استدعاء التطبيقات التي تعمل في المقدّمة
تتضمن إضافة دعم لاستدعاء التطبيقات التي تعمل في المقدّمة إضافة سلوك التنفيذ استنادًا إلى النشاط المطلوب في المقدّمة. عندما يكون ذلك النشاط في المقدمة ويتم استدعاء "مهمة التطبيق"، يمرِّر "مساعد Google" الغرض من الرابط لصفحة معيّنة في التطبيق بعلامة إضافية إلى ذلك النشاط حتى يتمكّن التطبيق من تعديل حالته.
لتنفيذ استدعاء التطبيقات التي تعمل في المقدّمة من أجل BII، عليك اتّباع الخطوات التالية:
- في ملف
shortcuts.xml
، أضِف علامة<intent>
إلى BII<capability>
تريد إتاحة استدعاء التطبيقات التي تعمل في المقدّمة. - ضمن العلامة
<intent>
، أضِف العلامة<extra>
. - في العلامة
<extra>
، اضبطandroid:key
على"requiredForegroundActivity"
، واضبطandroid:value
على النشاط الذي تريد طلبه في المقدّمة. حدِّد النشاط بدون اختصارات للفئة، باستخدام اسم حزمة التطبيق، متبوعًا بشرطة مائلة للأمام (/)، متبوعة باسم النشاط:APP_PACKAGE_NAME/ACTIVITY_NAME
- في النشاط الذي يتم تحديده في المقدّمة من أجل
"requiredForegroundActivity"
، نفِّذ طريقةonNewIntent()
للتعامل مع الغرض من الرابط لصفحة معيّنة في التطبيق باستخدام مجموعة علاماتSINGLE_TOP
. يمرِّر "مساعد Google" الغرض من الرابط لصفحة معيّنة في التطبيق بهذه العلامة كتنفيذ عندما يكون النشاط المحدّد في المقدّمة. - عليك التعامل مع المكالمات الواردة إلى
onNewIntent()
باعتبارها تحديثات لنشاطك الذي يعمل في المقدّمة، وإدارة الحالة في ذلك النشاط باستخدام المَعلمات المستخلصة من الرابط لصفحة معيّنة في التطبيق.
إذا كان تطبيقك يستخدم نشاط جهاز توجيه من أجل السماح لجميع الروابط الخارجية لصفحات معيّنة بتشغيل نشاط واحد لجهاز التوجيه، يمكنك الاطّلاع على مقالة التعامل مع أنشطة جهاز التوجيه.
مثال
يعرض المقتطف التالي من نموذج ملف shortcuts.xml
طريقة إضافة السمة requiredForegroundActivity
:
<capability name="actions.intent.CREATE_TAXI_RESERVATION"> <!-- Trigger with foreground app invocation if MainActivity is in the foreground. --> <intent android:targetClass="com.example.app.MainActivity" android:targetPackage="com.example.app"> <parameter android:name="taxiReservation.dropoffLocation.name" android:key="dropoff" /> <extra android:key="requiredForegroundActivity" android:value="com.example.app/com.example.app.MainActivity" /> </intent> <!-- This won't trigger if MainActivity is in the foreground. --> <intent android:targetClass="com.example.app.MainActivity" android:targetPackage="com.example.app"> <parameter android:name="taxiReservation.dropoffLocation.name" android:key="dropoff" /> </intent> </capability>
أذونات المستخدمين
![في إعدادات الجهاز، على المستخدمين تفعيل خيار "استخدام النص من الشاشة"
لكي يعمل استدعاء التطبيق الذي يعمل في المقدّمة.](https://developer.android.com/static/guide/app-actions/images/device-setting-assist-screen.png?authuser=8&hl=ar)
لكي يعمل استدعاء التطبيقات التي تعمل في المقدّمة لدى المستخدم، يجب أن يختار المستخدِم تفعيل الإعداد استخدام نص من الشاشة على الجهاز. يمكن أن يختلف الموقع والاسم الدقيق لهذه الإعدادات حسب المصنّع الأصلي للجهاز أو الشركة المصنّعة للجهاز. على سبيل المثال، قد يُسمى إعداد الجهاز استخدام سياق الشاشة على جهاز المستخدم بدلاً من ذلك.
للوصول إلى إعداد Android هذا على هاتف Pixel، يجب أولاً الانتقال إلى الإعدادات > التطبيقات والإشعارات > التطبيقات التلقائية > تطبيق المساعد. وبعد ذلك، فعِّل استخدام النص من الشاشة على شاشة المساعد والإدخال الصوتي.
اختبار الاستدعاء
لتجربة استدعاء التطبيق الذي يعمل في المقدّمة، اتّبِع الخطوات التالية:
- اتّبِع التعليمات الواردة في قسم أذونات المستخدم لتفعيل إعداد استخدام نص من الشاشة في الجهاز.
- افتح تطبيقك للوصول إلى النشاط الذي أدرجته على أنّه النشاط المطلوب في المقدّمة.
- اضغط مع الاستمرار على زر الشاشة الرئيسية لفتح "مساعد Google" كتراكب على التطبيق الحالي. أدخِل طلب بحث يتوافق مع BII التي نفّذتها بدون ذكر اسم التطبيق نفسه. عند نجاح هذا الإجراء، يتم تحديث تطبيقك بنفسه بناءً على طلب بحثك مع الحفاظ على حالته وبدون إعادة تشغيل النشاط.
التعامل مع أنشطة جهاز التوجيه
تتعامل بعض التطبيقات مع جميع الروابط الخارجية لصفحات معيّنة في التطبيق باستخدام نشاط جهاز توجيه واحد لمراقبة البوابة. يبدأ نشاط جهاز التوجيه بعد ذلك نشاط منطق العمل المناسب (بعد أي عمليات تحقق وعمليات تحقق) ويعيد نشاط منطق العمل إلى المقدمة.
يمكن أن يؤدي تشغيل رابط لصفحة في التطبيق إلى إضافة نشاط جهاز التوجيه إلى أعلى حزمة المهام، فوق النشاط في المقدّمة. بالنسبة إلى التطبيقات التي تستخدم نشاط جهاز التوجيه، يجب التأكّد من أنّ نشاط جهاز التوجيه يوفّر الغرض الذي يرسله "مساعد Google" إلى مثيل النشاط الحالي في المقدّمة. تتغير طريقة تحقيق هذا المطلب اعتمادًا على المكان الذي يبدأ فيه نشاط جهاز التوجيه.
إذا كان جهاز التوجيه يبدأ في مجموعة المهام نفسها مثل نشاط منطق العمل، يمكنك إعادة توجيه الغرض باستخدام OR على مستوى البت لـ SINGLE_TOP
وCLEAR_TOP
وNEW_TASK
:
Kotlin
Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
Java
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK
إذا بدأ جهاز التوجيه في مجموعة مهام منفصلة عن نشاط منطق نشاطك التجاري، يمكنك إعادة توجيه الغرض باستخدام علامة SINGLE_TOP
إلى نشاط منطق العمل.