استدعاء التطبيق في المقدّمة

تتيح "المهام في التطبيقات" للمستخدمين التحدث إلى "مساعد Google" والانتقال مباشرةً إلى وجهات تطبيق محدّدة عند قول عبارات مثل "Ok Google، أريد طلب سيارة من خلال تطبيق كذا". من خلال استدعاء التطبيقات التي تعمل في المقدّمة، يمكنك تحسين التجربة عندما يكون التطبيق مفتوحًا لدى المستخدم.

يتيح استدعاء التطبيقات التي تعمل في المقدّمة مطابقة الأهداف المدمَجة بدون طلب ذكر اسم التطبيق أثناء ظهور نشاط معيّن في مقدّمة الجهاز.

على سبيل المثال، عندما يكون التطبيق الخاص بمشاركة الرحلات في المقدّمة يظهر للمستخدم، يقول أو يكتب "اطلب لي رحلة إلى ماونتن فيو" إلى "مساعد Google". يستخدم تطبيقك هذا الإدخال لضبط حقل الوجهة على Mountain View. بعد ذلك، عندما يقول المستخدم أو يكتب: "اطلب سيارة من SFO"، يمكن لتطبيقك ضبط الموقع الجغرافي للاستلام مع الحفاظ على حالة تطبيقك.

القيود

لا يتوفّر استدعاء التطبيقات التي تعمل في المقدّمة إلا للأرقام التالية:

للحصول على دعم اللغة وأمثلة على طلبات البحث ذات الصلة باستدعاء التطبيق الذي يعمل في المقدّمة لمؤشر BII محدَّد، يُرجى الاطّلاع على مرجع الغرض المضمَّن.

إتاحة استدعاء التطبيقات التي تعمل في المقدّمة

تتضمن إضافة دعم لاستدعاء التطبيقات التي تعمل في المقدّمة إضافة سلوك التنفيذ استنادًا إلى النشاط المطلوب في المقدّمة. عندما يكون ذلك النشاط في المقدمة ويتم استدعاء "مهمة التطبيق"، يمرِّر "مساعد Google" الغرض من الرابط لصفحة معيّنة في التطبيق بعلامة إضافية إلى ذلك النشاط حتى يتمكّن التطبيق من تعديل حالته.

لتنفيذ استدعاء التطبيقات التي تعمل في المقدّمة من أجل BII، عليك اتّباع الخطوات التالية:

  1. في ملف shortcuts.xml، أضِف علامة <intent> إلى BII <capability> تريد إتاحة استدعاء التطبيقات التي تعمل في المقدّمة.
  2. ضمن العلامة <intent>، أضِف العلامة <extra>.
  3. في العلامة <extra>، اضبط android:key على "requiredForegroundActivity"، واضبط android:value على النشاط الذي تريد طلبه في المقدّمة. حدِّد النشاط بدون اختصارات للفئة، باستخدام اسم حزمة التطبيق، متبوعًا بشرطة مائلة للأمام (/)، متبوعة باسم النشاط: APP_PACKAGE_NAME/ACTIVITY_NAME
  4. في النشاط الذي يتم تحديده في المقدّمة من أجل "requiredForegroundActivity"، نفِّذ طريقة onNewIntent() للتعامل مع الغرض من الرابط لصفحة معيّنة في التطبيق باستخدام مجموعة علامات SINGLE_TOP. يمرِّر "مساعد Google" الغرض من الرابط لصفحة معيّنة في التطبيق بهذه العلامة كتنفيذ عندما يكون النشاط المحدّد في المقدّمة.
  5. عليك التعامل مع المكالمات الواردة إلى 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>

أذونات المستخدمين

في إعدادات الجهاز، على المستخدمين تفعيل خيار &quot;استخدام النص من الشاشة&quot;
            لكي يعمل استدعاء التطبيق الذي يعمل في المقدّمة.

لكي يعمل استدعاء التطبيقات التي تعمل في المقدّمة لدى المستخدم، يجب أن يختار المستخدِم تفعيل الإعداد استخدام نص من الشاشة على الجهاز. يمكن أن يختلف الموقع والاسم الدقيق لهذه الإعدادات حسب المصنّع الأصلي للجهاز أو الشركة المصنّعة للجهاز. على سبيل المثال، قد يُسمى إعداد الجهاز استخدام سياق الشاشة على جهاز المستخدم بدلاً من ذلك.

للوصول إلى إعداد Android هذا على هاتف Pixel، يجب أولاً الانتقال إلى الإعدادات > التطبيقات والإشعارات > التطبيقات التلقائية > تطبيق المساعد. وبعد ذلك، فعِّل استخدام النص من الشاشة على شاشة المساعد والإدخال الصوتي.

اختبار الاستدعاء

لتجربة استدعاء التطبيق الذي يعمل في المقدّمة، اتّبِع الخطوات التالية:

  1. اتّبِع التعليمات الواردة في قسم أذونات المستخدم لتفعيل إعداد استخدام نص من الشاشة في الجهاز.
  2. افتح تطبيقك للوصول إلى النشاط الذي أدرجته على أنّه النشاط المطلوب في المقدّمة.
  3. اضغط مع الاستمرار على زر الشاشة الرئيسية لفتح "مساعد 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 إلى نشاط منطق العمل.