"مساعد Google" على نظام التشغيل Wear OS

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

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

القيود

يتوافق "مساعد Google" على أجهزة Wear مع الوسائط وتتبُّع الأنشطة أثناء ممارسة التمارين. للحصول على إرشادات حول دمج تطبيقات الوسائط مع "مساعد Google"، يُرجى الانتقال إلى "مساعد Google" وتطبيقات الوسائط. تتوافق معرّفات BII التالية للصحة واللياقة مع تطبيقات Wear OS:

طريقة العمل

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

يتم توضيح الإجراءات في التطبيقات في shortcuts.xml من خلال عناصر إمكانات Android. تقترن عناصر الإمكانات بالنية المضمّنة (BII)، وهي أوصاف دلالية لإمكانات التطبيق، مع تعليمات حول التنفيذ، مثل نموذج رابط لصفحة معيّنة. عند تحميل تطبيقك باستخدام Google Play Console، تسجِّل Google الإمكانات الموضَّحة في shortcuts.xml، ما يجعلها متاحة للمستخدمين لتفعيلها من "مساعد Google".

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

يوضِّح المخطّط البياني السابق مستخدمًا يوقف التمرين مؤقتًا في تطبيق مستقل. ويتم تنفيذ الخطوات التالية:

  1. يرسل المستخدم طلبًا صوتيًا إلى "مساعد Google" بشأن التطبيق المحدّد القابل للارتداء.
  2. يطابق "مساعد Google" الطلب مع نموذج مدرَّب مسبقًا (BII)، ويستخرج أي معلَمات يتم العثور عليها في طلب البحث متوافقة مع BII.
  3. في المثال، يطابق "مساعد Google" طلب البحث مع PAUSE_EXERCISE BII، ويستخلص مَعلمة اسم التمرين "hike".
  4. يتم تشغيل التطبيق من خلال تعريف تنفيذ إمكانية shortcuts.xml في نموذج BII هذا.
  5. يعالج التطبيق عملية التنفيذ، ويوقف التمرين مؤقتًا.

إمكانية الاتصال

يختلف تطوير "مهامّ في التطبيقات" حسب وظائف التطبيق ضمن المنظومة المتكاملة للأجهزة التي تعمل بنظام التشغيل Android.

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

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

إضافة الإمكانيات الصوتية إلى Wear

يمكنك دمج خدمة "مهامّ في التطبيقات" مع تطبيق Wear OS باتّباع الخطوات التالية:

  1. عليك مطابقة الوظيفة داخل التطبيق التي تريد تفعيلها بالصوت مع نموذج BII المقابل.
  2. يمكنك توضيح توفُّر اختصارات Android في مرجع AndroidManifest.xml لنشاطك الرئيسي.

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

  4. أنشِئ ملف shortcuts.xml لتقديم تفاصيل التنفيذ لمعرّفات BII. يمكنك استخدام عناصر اختصار capability لإعلام "مساعد Google" بمعرّفات BII المتوافقة مع تطبيقك. لمزيد من المعلومات، يُرجى الاطّلاع على إضافة إمكانات.

  5. في shortcuts.xml، يمكنك تنفيذ إحدى الإمكانيات التي اخترتها في BII. يوضح النموذج التالي إمكانية استخدام START_EXERCISE BII:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- This is a sample shortcuts.xml -->
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
      <capability android:name="actions.intent.START_EXERCISE">
        <intent
          android:action="android.intent.action.VIEW"
          android:targetPackage="YOUR_UNIQUE_APPLICATION_ID"
          android:targetClass="YOUR_TARGET_CLASS">
          <!-- Eg. name = "Running" -->
          <parameter
            android:name="exercise.name"
            android:key="name"/>
          <!-- Eg. duration = "PT1H" -->
          <parameter
            android:name="exercise.duration"
            android:key="duration"/>
        </intent>
      </capability>
    </shortcuts>
    
  6. إذا كان ذلك ممكنًا، يمكنك توسيع نطاق التوافق مع صيغ الكلام للمستخدمين باستخدام مستودع مضمّن، الذي يمثّل الميزات والمحتوى في تطبيقك.

    <capability android:name="actions.intent.START_EXERCISE">
      <intent
        android:targetPackage="com.example.myapp"
        android:targetClass="com.example.myapp.ExerciseActivity">
        <parameter android:name="exercise.name" android:key="exercise" />
      </intent>
    </capability>
    
    <shortcut android:shortcutId="CARDIO_RUN">
      <capability-binding android:key="actions.intent.START_EXERCISE">
        <parameter-binding
          android:key="exercise.name"
          android:value="@array/run_names" />
        </capability-bindig>
    </shortcut>
    
  7. يجب تعديل منطق تطبيقك للتعامل مع تنفيذ "مهامّ التطبيقات" الواردة.

    //FitMainActivity.kt
    
    private fun handleIntent(data: Uri?) {
        var actionHandled = true
        val startExercise = intent?.extras?.getString(START_EXERCISE)
    
        if (startExercise != null){
            val type = FitActivity.Type.find(startExercise)
            val arguments = Bundle().apply {
                putSerializable(FitTrackingFragment.PARAM_TYPE, type)
            }
            updateView(FitTrackingFragment::class.java, arguments)
        }
        else{
            showDefaultView()
            actionHandled = false
        }
        notifyActionSuccess(actionHandled)
    }
    

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

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

أفضل الممارسات

يمكنك تقديم تجربة إيجابية للمستخدم عند دمج تطبيقك مع "مساعد Google" من خلال اتّباع أفضل الممارسات المقترَحة التالية.

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

جودة أساسية جودة أفضل أفضل جودة
  • أنشِئ هدفًا لبدء "ConfirmationActivity" من نشاط معيّن.
  • أنشِئ هدفًا لبدء "ConfirmationActivity" من نشاط معيّن.
  • تشغيل رنين وملاحظات حسيّة للإشارة إلى الحالة الحالية
  • أنشِئ هدفًا لبدء "ConfirmationActivity" من نشاط معيّن.
  • تحويل النص إلى كلام (TTS) والملاحظات الحسّية للإشارة إلى الخطأ أو النجاح.

الأخطاء الشائعة وطرق حلّها

بالنسبة إلى حالات الخطأ التالية، استخدِم ميزة المراسلة من تطبيق ConfirmationActivity المقترَحة التالية.

حالة الخطأ مثال على تفاعل المستخدم استجابة التطبيق
النشاط جارٍ حاليًا "بدء ExerciseName"
"استئناف ExerciseName"
خطأ في العرض: هناك نشاط جارٍ حاليًا".
لم يبدأ أي نشاط "إيقاف مؤقت/إيقاف ExerciseName" خطأ في العرض: "لم يبدأ أي نشاط".
عدم تطابق أنواع الأنشطة "Pause/Stop my ExerciseName"، وهو نوع مختلف من التمارين الرياضية عن النشاط الجاري. خطأ في العرض: "نوع النشاط غير متطابق".
خطأ في تسجيل الدخول "بدء ExerciseName" عندما لا يكون المستخدم مسجلاً الدخول إلى التطبيق. تشغيل الاستجابة باللمس لتنبيه المستخدم وإعادة التوجيه إلى شاشة تسجيل الدخول
خطأ في الأذونات لا يملك المستخدم الإذن اللازم لبدء نشاطه المطلوب. تشغيل اللمس لتنبيه المستخدم وإعادة التوجيه إلى شاشة طلب الإذن
مشكلة في أداة الاستشعار أوقف المستخدم خدمات الموقع الجغرافي في إعدادات جهازه. شغِّل ميزة اللمس لتنبيه المستخدمين واعرض شاشة الخطأ في أداة الاستشعار. الخطوات التالية الاختيارية:
  • يمكنك بدء النشاط بدون تتبُّع جهاز الاستشعار وإرسال إشعار إلى المستخدم.
  • يمكنك طلب موافقة المستخدم لبدء النشاط بدون تتبُّع جهاز الاستشعار.