مهامّ في التطبيقات للسيارات

تتيح ميزة "التحكّم الصوتي" للسائقين تنفيذ المهام بدون رفع اليدين من العجلة أو عيونهم خارج الطريق. باستخدام "مهامّ في التطبيقات" لتطبيقات السيارة، يمكن للسائقين استخدام "مساعد Google" للتحكّم في تطبيقات Android على "نظام الترفيه والمعلومات" الخاص بهم من خلال قول عبارات مثل، "Ok Google، أريد العثور على موقف سيارات في الشارع على ExampleApp".

تعمل ميزة "مهامّ في التطبيقات" مع تطبيقات السيارات من نقاط الاهتمام. يتناول هذا الدليل المتطلّبات والقيود الخاصة بدمج خدمة "مهامّ في التطبيقات" في نقطة الاهتمام التطبيق.

آلية العمل

تعمل خدمة "مهامّ في التطبيقات" على توسيع نطاق الوظائف داخل التطبيق لتشمل "مساعد Google"، ما يتيح للمستخدمين الوصول إلى ميزات التطبيق باستخدام أصواتهم. عندما يستدعي أحد المستخدمين أحد الإجراءات في التطبيق، يطابق "مساعد Google" طلب البحث مع هدف مضمّن (BII) تم تعريفه في تطبيقك. shortcuts.xml، وسيتم تشغيل تطبيقك على الشاشة المطلوبة.

أنت تقرّ بتوفُّر مؤشرات BII في تطبيقك باستخدام عناصر Android capability. عند تحميل تطبيقك باستخدام Google Play Console، تسجِّل Google الإمكانات المُفصَّلة في تطبيقك وإتاحتها للمستخدمين من "مساعد Google".

رسم بياني يعرض طريقة توفّر السيارة

  1. يشغِّل المستخدم "مساعد Google" ويقدّم طلبًا صوتيًا إلى تطبيق معيّن.
  2. يطابق "مساعد Google" الطلب مع نموذج مدرَّب مسبقًا (BII) ويستخرجه أي معلمات يدعمها BII.
  3. في هذا المثال، يطابق "مساعد Google" الطلب مع GET_CHARGING_STATION. BII، تستخرج معلمة الموقع "SFO"، وتترجم الموقع إلى إحداثياتها الجغرافية.
  4. يتم تشغيل التطبيق من خلال تعريف طريقة التنفيذ في نموذج BII هذا.
  5. يعالج التطبيق عملية التنفيذ، ويعرض خيارات محطات الشحن في نظام الترفيه والمعلومات للسائق.

القيود

تخضع عمليات تنفيذ "مهامّ في التطبيقات" للسيارات للقيود التالية:

المتطلبات

نفِّذ الخطوات التالية لإعداد تطبيق السيارة لـ "مهامّ التطبيقات":

  • عليك استيفاء المتطلبات العامة لتطبيق Android في ما يخص "مهام التطبيقات".
  • تضمين الاعتمادية على Car App Library (مكتبة تطبيقات السيارة) للحصول على التفاصيل، يمكنك مراجعة توضيح التبعيات:

تحديد النية بالشراء وإنجازها

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

  • ما هي الأغراض التي يوفّرها تطبيق السيارة؟

    توفّر خدمة "مهامّ في التطبيقات" نماذج صوتية مُدرَّبة مسبقًا، تُعرف باسم الأهداف المدمجة (BII) التي يمكنها فهم وتفسير الأوامر الصوتية للمستخدم عندما يقول، "Ok Google". للردّ على الطلبات الصوتية، ما عليك سوى إبلاغ "مساعد Google" بذلك. معرّفات BII التي يتوافق معها تطبيقك. على سبيل المثال، إذا كنت تريد أن يساعد تطبيقك عند العثور على موقف سيارات، نفذت GET_PARKING_FACILITY 3- أو تنفيذ GET_CHARGING_STATION BII لمساعدة المستخدمين في العثور على الأجهزة الكهربائية محطات شحن السيارات.

  • كيف يجب أن يحقّق تطبيقك كل هدف؟

    يلبّي تطبيقك الطلب الصوتي من خلال تشغيله تلقائيًا الشاشة. عند تنفيذ المهام في التطبيقات، يتم استخلاص المَعلمات من طلب المستخدم، مما يتيح لك تخصيص ردك وفقًا لاحتياجات المستخدم.

دمج خدمة "مهام في التطبيقات"

بعد تحديد استراتيجية توصيل الطلبات، اتّبِع هذه الخطوات لتفعيل الميزة الصوتية. تطبيق السيارة:

  1. فتح النشاط الرئيسي AndroidManifest.xml والإفصاح عن دعمه لنظام التشغيل Android الاختصارات. يتم استخدام عناصر اختصارات ميزة "capability" لإعلام "مساعد Google" بأنّها مفعّلة. معرّفات BII التي يتوافق معها تطبيقك. لمزيد من المعلومات، يُرجى مراجعة إضافة إمكانات:

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. بعد ذلك، أضِف عنصر <intent-filter> إلى AndroidManifest.xml. هذا النمط يمكّن "مساعد Google" من استخدام روابط لصفحات معيّنة في التطبيق لربطه بمحتوى تطبيقك.

    • بالنسبة إلى توصيل الطلبات إلى Android Auto، تكون السمة <intent-filter> هي نفسها تطبيق للأجهزة الجوّالة.

    • على نظام التشغيل Android Automotive، مشغِّلات جلسة CarAppService في تطبيقك مساعد Google للسماح لجلسة بتشغيل رابط الصفحة في التطبيق، حدِّد <intent-filter> في العنصر <activity> في AndroidManifest.xml.

    <!-- AndroidManifest.xml -->
    <activity
      ...
      android:name="androidx.car.app.activity.CarAppActivity">
      ...
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data
            android:scheme="YOUR_SCHEME"
            android:host="YOUR_HOST" />
      </intent-filter>
    </activity>
    
  3. إذا لم يكن لديك ملف shortcuts.xml، يمكنك استخدام res/xml. الدليل، فقم بإنشاء دليل جديد. للحصول على معلومات حول طريقة استخدام خدمة "مهامّ في التطبيقات" اختصارات Android، يُرجى الاطّلاع على إنشاء ملف shortcuts.xml.

    في shortcuts.xml، يمكنك تنفيذ capability في BII الذي اخترته. بَعْدَهَا، يمكنك إضافة سمة <intent> مدمجة لتحديد طريقة توفير التطبيق.

    <!-- shortcuts.xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    
      <capability android:name="actions.intent.GET_PARKING_FACILITY">
        <intent>
          <url-template
          android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}">
    
          <!-- Facility name, e.g. "Googleplex" -->
          <parameter
            android:name="parkingFacility.name"
            android:key="name"/>
          <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" -->
          <parameter
            android:name="parkingFacility.address"
            android:key="address"/>
          <!-- Disambiguate the type of service, e.g. "valet" -->
          <parameter
            android:name="parkingFacility.disambiguatingDescription"
            android:key="disambiguatingDescription"/>
          <!-- Latitude, e.g. "37.3861" -->
          <parameter
            android:name="parkingFacility.geo.latitude"
            android:key="latitude"/>
          <!-- Longitude, e.g. "-122.084" -->
          <parameter
            android:name="parkingFacility.geo.longitude"
            android:key="longitude"/>
        </intent>
      </capability>
    </shortcuts>
    
  4. أخيرًا، عليك تعديل منطق Session() في تطبيق السيارة للتعامل مع التطبيق الوارد. تنفيذ الإجراءات: توضح النماذج التالية التعامل مع النية في Session.onCreateScreen() وSession.onNewIntent()

    onCreatescreen()

    Kotlin

    @Override
    fun onCreateScreen(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
      ...
     }
    }
    

    Java

    @Override
    public Screen onCreateScreen(@NonNull Intent intent) {
    if (intent.getData() != null) {
      Uri uri = intent.getData();
      // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
      // Build your Templates with parsed uri parameters
    ...
    }
    }
    

    onNewIntent()

    Kotlin

    @Override
    fun onNewIntent(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
          ...
      }
    }
    

    Java

    @Override
    public void onNewIntent(@NonNull Intent intent) {
    if (intent.getData() != null) {
     Uri uri = intent.getData();
     // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
     // Build your Templates with parsed uri parameters
     ...
    }
    }
    

معاينة تطبيقك واختباره ونشره

يوفّر تطبيق "مهامّ في التطبيقات" أدوات لمعاينة تطبيقك واختباره. انتقل إلى نظرة عامة حول "مهامّ في التطبيقات" للاطّلاع على معلومات عن هذه الأدوات وتفاصيل عن كيفية نشر تطبيق السيارة المزوّد بالصوت على "متجر Play".