توسيع نطاق وصول تطبيق Android ليشمل "مساعد Google" باستخدام ميزة "مهامّ في التطبيقات"

1. نظرة عامة

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

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

ما الذي ستقوم ببنائه

في هذا الدرس التطبيقي حول الترميز، ستضيف هدفَين مضمّنَين في إجراءات التطبيقات (BII) إلى نموذج لتطبيق Android للّياقة البدنية، ما يتيح للمستخدمين بدء موقّت تمرين أو إيقافه باستخدام أصواتهم.

ما ستتعرَّف عليه

ستتعرّف على كيفية استخدام مؤشرات BII من فئة الصحة واللياقة البدنية لتوسيع نطاق وصول "مساعد Google" إلى تطبيق Android. ستتعلّم أيضًا كيفية استخدام مكوّن "مساعد Google" الإضافي في "استوديو Android" لاختبار مؤشرات BII.

المتطلبات الأساسية

قبل المتابعة، تأكَّد من توفُّر الأدوات التالية في بيئتك:

  • وحدة طرفية لتشغيل أوامر واجهة الأوامر مع تثبيت git
  • أحدث إصدار من استوديو Android
  • حساب Google لديه إذن بالوصول إلى [Google Play Console][]
  • جهاز Android مادي أو افتراضي تتوفّر عليه إمكانية الوصول إلى "متجر Play" من الإنترنت

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

2. التعرّف على طريقة العمل

تتيح ميزة "مهامّ في التطبيقات" ربط المستخدمين من "مساعد Google" بتطبيقك على Android. كيف تعمل هذه الميزة؟

عندما يطلب المستخدم من "مساعد Google" تنفيذ مهمة باستخدام تطبيقك، يُطابق "مساعد Google" طلب البحث مع capability إجراءات التطبيقات المحدّدة في مرجع XML الخاص بالتطبيق shortcuts.xml.

مخطّط بياني لتدفق يوضّح طريقة "مساعد Google" في معالجة طلب صوتي في خدمة "مهامّ في التطبيقات"

الشكل 1. مخطّط بياني لتدفق يوضّح طريقة "مساعد Google" في معالجة طلب صوتي في خدمة "مهامّ في التطبيقات"

يحدد كل عنصر من عناصر الإمكانات ما يلي:

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

مكان ووقت الاستماع إلى الموسيقى

في فهم اللغة الطبيعية (NLU)، المقصود هو مجموعة من عبارات المستخدم التي لها معانٍ متشابهة. لقد صنعت Google العشرات من الأغراض (BII) التي تغطي مجموعة متنوعة من أنواع الطلبات المتاحة من خلال خدمة "مهامّ في التطبيقات". على سبيل المثال، يتم تدريب "مساعد Google" على ربط العبارتَين "طلب بيتزا" أو "عرض قائمة الحلويات" بالعبارة ORDER_MENU_ITEM BII. باستخدام ميزة "مهامّ في التطبيقات"، يمكنك الاستفادة من مؤشرات BII هذه لتوسيع نطاق الطلبات الصوتية الشائعة سريعًا ليشمل وظائف التطبيق.

توصيل الطلبات

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

3- إعداد بيئة التطوير

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

تنزيل ملفاتك الأساسية

للحصول على الملفات الأساسية لهذا الدرس التطبيقي حول الترميز، شغِّل الأمر التالي لاستنساخ مستودع GitHub:

git clone --branch codelab-start https://github.com/actions-on-google/appactions-fitness-kotlin.git

بعد استنساخ المستودع، افتحه في "استوديو Android" على النحو التالي:

  1. في مربّع الحوار مرحبًا بك في "استوديو Android"، انقر على استيراد مشروع.
  2. ابحث عن المجلد الذي استنسخت منه المستودع واختَره.

تعديل رقم تعريف تطبيق Android

يؤدي تعديل معرّف التطبيق الخاص بالتطبيق إلى التعرّف على التطبيق بشكلٍ فريد على الجهاز الاختباري وتجنُّب ظهور "اسم حزمة مكرّر". إذا تم تحميل التطبيق على Play Console. لتعديل معرّف التطبيق، افتح app/build.gradle:

android {
...
  defaultConfig {
    applicationId "com.MYUNIQUENAME.android.fitactions"
    ...
  }
}

استبدال "MYUNIQUENAME" في الحقل applicationId إلى معلومات فريدة لك.

تجربة التطبيق على جهازك

قبل إجراء المزيد من التغييرات على رمز التطبيق، من المفيد الحصول على فكرة عما يمكن أن يفعله نموذج التطبيق. يتضمن اختبار التطبيق في بيئة مطوري البرامج الخطوات التالية:

  1. جارٍ فتح جهاز اختبار Android الافتراضي أو الفعلي.
  2. التأكّد من عمل تطبيق "مساعد Google"
  3. استخدام "استوديو Android" لنشر نموذج التطبيق وتشغيله على جهازك

يُرجى اتّباع الخطوات التالية لاختبار تطبيقك:

  1. في "استوديو Android"، اختَر تشغيل > شغِّل التطبيق أو انقر على تشغيلacabcb8f8634af20.png في شريط الأدوات.
  2. في حال استخدام جهاز افتراضي، في مربّع الحوار اختيار هدف النشر، اختَر جهازًا افتراضيًا وانقر على حسنًا. إصدار نظام التشغيل المقترَح هو Android 8 (المستوى 26 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث، على الرغم من أنّ "الإجراءات" تعمل على الأجهزة في إصدار Android 5 (المستوى 21 لواجهة برمجة التطبيقات).
  3. بعد فتح التطبيق، اضغط مع الاستمرار على زر الشاشة الرئيسية لإعداد "مساعد Google" والتأكّد من أنّه يعمل. سجِّل الدخول إلى "مساعد Google" إذا لم يسبق لك ذلك.
  4. أعِد فتح التطبيق.

هاتف تم فتح تطبيق "الإجراءات المناسبة" فيه ويعرض إحصاءات التمارين

الشكل 2. نموذج تطبيق "إجراءات مناسبة" يعرض إحصاءات التمارين الرياضية

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

تثبيت مكوّن "مساعد Google" الإضافي

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

  1. انتقل إلى ملف > الإعدادات (استوديو Android > الإعدادات المفضّلة على نظام التشغيل MacOS).
  2. في قسم Plugins (المكوّنات الإضافية)، انتقِل إلى Marketplace وابحث عن "Google Assistant".
  3. ثبِّت الأداة وأعِد تشغيل "استوديو Android".

4. إضافة إمكانية بدء التمرين BII

تتيح actions.intent.START_EXERCISE BII للمستخدمين فتح تطبيق وبدء تمرين باستخدام أصواتهم. في هذه الخطوة، يتم تنفيذ إمكانية لعملية BII هذه تتيح للمستخدمين أن يطلبوا من "مساعد Google" بدء تمرين جري في تطبيق Fitness.

تحديد الإمكانيات

يستخدم "مساعد Google" عناصر capability المحدّدة في shortcuts.xml لمعالجة الطلبات الصوتية باتّباع الخطوات التالية:

  1. يُطابق "مساعد Google" الطلب الصوتي الذي يُدخله المستخدم مع الطلبات الصوتية في قسم BII المحدّد في إمكانات التطبيق.
  2. يستخلص "مساعد Google" القيم من الطلب إلى مَعلمات BII. تتم إضافة كل مَعلمة إلى Bundle مرفقة بعنصر Intent تم إنشاؤه.
  3. يستخدم "مساعد Google" Intent لتشغيل التطبيق، ما يمنح التطبيق إمكانية الوصول إلى المعلمات المجمّعة.

تتوافق START_EXERCISE BII مع المَعلمة exercise.name BII. ستستخدم هذه المعلمة للسماح للمستخدمين بتحديد نوع التمرين الذي سيتم تتبعه في التطبيق.

أضِف START_EXERCISE BII إلى تطبيقك من خلال إضافة capability إلى shortcuts.xml، المتوفّر في نموذج دليل المشروع في app/src/main/res/xml:

<!-- shortcuts.xml -->

<capability android:name="actions.intent.START_EXERCISE">
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="PUT_YOUR_APPLICATION_ID_HERE"
    android:targetClass="com.devrel.android.fitactions.FitMainActivity">
    <parameter
      android:name="exercise.name"
      android:key="exerciseType"/>
  </intent>
</capability>

استبدِل PUT_YOUR_APPLICATION_ID_HERE بـ applicationId الفريد الذي حدّدته في الخطوة السابقة.

نموذج XML السابق:

  • تعلن عن إمكانية استخدام START_EXERCISE BII.
  • تحدّد هذه السياسة رقم intent من نظام التشغيل Android الذي ينشئه "مساعد Google" لتشغيل التطبيق:
    • تحدّد السمتان targetPackage وtargetClass نشاط الاستلام.
    • تربط السمة parameter المَعلمة exercise.name BII بـ exerciseType في الإضافات Bundle التي يتلقّاها النشاط.

التعامل مع المَعلمات BII مع مستودع مضمّن

تمثّل مَعلمات BII العناصر المستخرَجة من طلب بحث أجراه مستخدم في "مساعد Google". على سبيل المثال، عندما يقول المستخدم: "Ok Google، أريد بدء عملية تشغيل على ExampleApp"، يستخرج "مساعد Google" كلمة "تشغيل". في المعلمة BII exercise.name schema.org. بالنسبة إلى بعض معرّفات BII، يمكنك أن تطلب من "مساعد Google" مطابقة مَعلمات BII مع مجموعة من المعرّفات التي يتوقّعها تطبيقك.

يمكنك إجراء ذلك من خلال ربط عناصر المستودع المضمّن بالمَعلمة BII. المستودع المضمّن هو مجموعة من قيم مَعلمات BII المتاحة، مثل "run" و"hike" و"jog"، ورقم تعريف الاختصار المقابل لها، مثل EXERCISE_RUN. من خلال ربط المستودع الإعلاني، يتم السماح لخدمة "مساعد Google" بتمرير رقم تعريف الاختصار للمعلَمات المطابِقة، بدلاً من قيمة طلب البحث الأولية، إلى نشاط التنفيذ.

وتتطلب بعض مَعلمات BII، مثل exercise.name، مستودعًا مضمَّنًا لتعمل. لمعالجة هذه المَعلمة، أضِف عناصر shortcut للمستودع التالي إلى shortcuts.xml:

<!-- shortcuts.xml -->

<shortcuts>
  <shortcut
    android:shortcutId="running"
    android:shortcutShortLabel="@string/activity_running">
    <capability-binding android:key="actions.intent.START_EXERCISE">
      <parameter-binding
        android:key="exercise.name"
        android:value="@array/runningSynonyms"/>
    </capability-binding>
  </shortcut>

  <shortcut
    android:shortcutId="walking"
    android:shortcutShortLabel="@string/activity_walking">
    <capability-binding android:key="actions.intent.START_EXERCISE">
      <parameter-binding
        android:key="exercise.name"
        android:value="@array/walkingSynonyms"/>
    </capability-binding>
  </shortcut>

  <shortcut
    android:shortcutId="cycling"
    android:shortcutShortLabel="@string/activity_cycling">
    <capability-binding android:key="actions.intent.START_EXERCISE">
      <parameter-binding
        android:key="exercise.name"
        android:value="@array/cyclingSynonyms"/>
    </capability-binding>
  </shortcut>

  <capability> ... </capability>
</shortcuts>

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

  • تشير السمة android:key لكل عنصر capability-binding إلى START_EXCERCISE BII نفسه المحدّد للإمكانية.
  • العنصر parameter-binding لكل مفاتيح اختصار للمَعلمة exercise.name BII

إضافة مرادفات المستودع المضمّن

تشير سمات android:value للعنصر parameter-binding في اختصارات المستودع السابقة إلى مورد صفيف من المرادفات لكل عنصر مستودع. تمكّن المرادفات أشكالاً مختلفة من نوع العنصر، مثل "run" و"jog" و"sprint" (دورة متكررة) للإشارة إلى shortcutId نفسها. أضف إدخالات المرادفات التالية إلى مورد array.xml الخاص بالمشروع:

<!-- array.xml -->
<array name="runningSynonyms">
  <item>Run</item>
  <item>Jog</item>
  <item>Jogging</item>
  <item>Sprint</item>
</array>

<array name="walkingSynonyms">
  <item>Walk</item>
  <item>Hike</item>
  <item>Hiking</item>
</array>

<array name="cyclingSynonyms">
  <item>Biking</item>
  <item>Riding</item>
  <item>Pedaling</item>
</array>

تحقيق أهداف Android الواردة

أغراض Android هي عناصر مراسلة يستخدمها Android لطلب إجراء من تطبيق آخر. ينفّذ "مساعد Google" متطلبات المستخدمين لطلبات البحث الصوتية من خلال إنشاء هدف من تفاصيل الإعدادات في الميزة التي تم تشغيلها. لتحقيق أغراض إمكانية START_EXERCISE، عدِّل الفئة المستهدفة FitMainActivity للتعامل مع معلَمة intent الواردة ومعلمات BII.

أولاً، استبدِل الدالة Intent.handleIntent بالرمز التالي:

//FitMainActivity.kt

private fun Intent.handleIntent() {
  when (action) {
    // When the BII is matched, Intent.Action_VIEW will be used
    Intent.ACTION_VIEW -> handleIntent(data)
    // Otherwise start the app as you would normally do.
    else -> showDefaultView()
  }
}

أضِف بعد ذلك دالة handleIntent جديدة إلى الصف باستخدام الرمز التالي:

//FitMainActivity.kt

/**
 * Use extras provided by the intent to handle the different BIIs
 */

private fun handleIntent(data: Uri?) {
  // path is normally used to indicate which view should be displayed
  // i.e https://fit-actions.firebaseapp.com/start?exerciseType="Running" -> path = "start"
  var actionHandled = true

  val startExercise = intent?.extras?.getString(START_EXERCISE)
  // Add stopExercise variable here

  if (startExercise != null){
    val type = FitActivity.Type.find(startExercise)
    val arguments = Bundle().apply {
      putSerializable(FitTrackingFragment.PARAM_TYPE, type)
    }
    updateView(FitTrackingFragment::class.java, arguments)
  } // Add conditional for stopExercise
  else{
   // path is not supported or invalid, start normal flow.
   showDefaultView()

   // Unknown or invalid action
   actionHandled = false
  }
  notifyActionSuccess(actionHandled)
}

في دالة Intent.handleIntent السابقة، عند تشغيل ACTION_VIEW، يتم تمرير بيانات "الهدف من إجراء التطبيق" إلى الدالة handleIntent. ويمكن الوصول إلى مَعلمات BII المجمّعة في intent START_EXERCISE من خلال intent?.extras?.getString(START_EXERCISE). وتعدِّل بقية الدالة FitTrackingFragment لعرض نوع اللياقة البدنية startExercise الذي تم اختياره.

اختبار إجراء تطبيقك

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

لاختبار إجراء التطبيق باستخدام المكون الإضافي، اتبع الخطوات التالية:

  1. تشغيل تطبيقك في "استوديو Android" من خلال اختيار تشغيل > تشغيل التطبيق أو من خلال النقر على رمز تشغيل في شريط الأدوات العلوي
  2. انتقِل إلى الأدوات > الإجراءات في التطبيق > مساعد Google > أداة اختبار "الإجراءات في التطبيق"
  3. انقر على إنشاء معاينة. راجِع سياسات خدمة "مهامّ في التطبيقات" وبنود الخدمة واقبلها إذا طُلِب منك ذلك.
  4. اختَر هدف actions.intent.START_EXERCISE المضمَّن.
  5. في مربّع تمرين، اترك القيمة التلقائية تشغيل.
  6. انقر على تشغيل إجراء على التطبيق. تأكَّد من أنّ "مساعد Google" يتضمّن روابط لصفحات في التطبيق ضمن موقّت التمرين، وتأكَّد من أنّ الموقّت بدأ تمارين مناسبة للركض.

لقد نفّذت أوّل "مهامّ في التطبيقات" باستخدام START_EXERCISE BII. تهانينا! بعد ذلك، سنتيح للمستخدمين إيقاف أي تمرين رياضي في تطبيقك.

5- إضافة إمكانية إيقاف التمرين BII

تتيح العلامة actions.intent.STOP_EXERCISE BII للمستخدمين إيقاف جلسة تمرين رياضي من خلال توجيه طلبات مثل: "Ok Google، أريد إيقاف الجري على ExampleApp". يمكنك تنفيذ BII في تطبيق Fitness من خلال إضافة capability ثانٍ إلى shortcuts.xml:

<!-- shortcuts.xml -->

<capability android:name="actions.intent.STOP_EXERCISE">
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="PUT_YOUR_APPLICATION_ID_HERE"
    android:targetClass="com.devrel.android.fitactions.FitMainActivity">
    <!-- Eg. name = "Running" -->
    <parameter
        android:name="exercise.name"
        android:key="stopExercise"/>
  </intent>
</capability>

استبدِل PUT_YOUR_APPLICATION_ID_HERE بـ applicationId الفريد.

التعامل مع المَعلمات BII مع مستودع مضمّن

تتوافق استراتيجية BII هذه مع مَعلمة exercise.name نفسها المتوفّرة في قسم START_EXERCISE BII، ما يسمح للمستخدمين بتحديد التمرين النشط الذي يريدون إنهاءه. لتفعيل هذا الخيار، أضِف مجموعة ثانية من عناصر اختصارات المستودع إلى shortcuts.xml:

<!-- shortcuts.xml -->

<shortcut
  android:shortcutId="running"
  android:shortcutShortLabel="@string/activity_running">
  <capability-binding android:key="actions.intent.STOP_EXERCISE">
      <parameter-binding
          android:key="exercise.name"
          android:value="@array/runningSynonyms"/>
  </capability-binding>
</shortcut>

<shortcut
  android:shortcutId="walking"
  android:shortcutShortLabel="@string/activity_walking">
  <capability-binding android:key="actions.intent.STOP_EXERCISE">
      <parameter-binding
          android:key="exercise.name"
          android:value="@array/walkingSynonyms"/>
  </capability-binding>
</shortcut>

<shortcut
  android:shortcutId="cycling"
  android:shortcutShortLabel="@string/activity_cycling">
  <capability-binding android:key="actions.intent.STOP_EXERCISE">
      <parameter-binding
          android:key="exercise.name"
          android:value="@array/cyclingSynonyms"/>
  </capability-binding>
</shortcut>

تحقيق أهداف Android الواردة

يمكنك تفعيل التطبيق ليتعامل مع أهداف STOP_EXERCISE الواردة من Android من خلال تعديل الفئة FitMainActivity. أولاً، أضِف متغيّرًا إلى الدالة handleIntent للاحتفاظ ببيانات الهدف STOP_EXERCISE:

// FitMainActivity.kt

private fun handleIntent(data: Uri?) {
  val stopExercise = intent?.extras?.getString(STOP_EXERCISE)
  //...
}

بعد ذلك، عدِّل المنطق الشرطي لدالة handleIntent للتعامل مع أغراض STOP_EXERCISE:

// FitMainActivity.kt

private fun handleIntent(data: Uri?) {
  //...
  if (startExercise != null){
    val type = FitActivity.Type.find(startExercise)
    val arguments = Bundle().apply {
      putSerializable(FitTrackingFragment.PARAM_TYPE, type)
    }
    updateView(FitTrackingFragment::class.java, arguments)
  } // Add conditional for stopExercise
  <strong>
  } else if(stopExercise != null){
    // Stop the tracking service if any and return to home screen.
    stopService(Intent(this, FitTrackingService::class.java))
    updateView(FitStatsFragment::class.java)
  }
  </strong>
  //...
}

في الرمز السابق، عدّلت الدالة handleIntent للتحقّق من STOP_EXERCISE BII في intent الواردة في Android. وفي حال العثور عليها، توقِف الدالة الموقّت وتعيد المستخدم إلى الشاشة الرئيسية.

اختبار إجراء تطبيقك

يمكنك اختبار إجراء التطبيق باستخدام مكوّن "مساعد Google" الإضافي باتّباع الخطوات التالية:

  1. تشغيل تطبيقك في "استوديو Android" من خلال اختيار تشغيل > تشغيل التطبيق أو من خلال النقر على رمز تشغيل في شريط الأدوات العلوي
  2. ابدأ عملية "تشغيل" جديدة في التطبيق. التمرين.
  3. افتح المكوّن الإضافي في "استوديو Android" من خلال الانتقال إلى الأدوات >. الإجراءات في التطبيق > مساعد Google > أداة اختبار "الإجراءات في التطبيق"
  4. انقر على إنشاء معاينة.
  5. اختَر هدف actions.intent.STOP_EXERCISE المضمَّن.
  6. في مربّع تمرين، اترك القيمة التلقائية تشغيل.
  7. انقر على تشغيل إجراء على التطبيق. يُرجى التأكّد من أنّ "مساعد Google" يوقف التمرين ويعيد توجيهك إلى الشاشة الرئيسية.

6- الخطوات التالية

تهانينا!

لقد تعرفت الآن على كيفية تفعيل الصوت في تطبيق Android باستخدام الأهداف المضمّنة في "مساعد Google". في هذا الدرس التطبيقي حول الترميز، تعلمتَ ما يلي:

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

الخطوات التالية

من هنا، يمكنك محاولة إجراء مزيد من التحسينات على تطبيق اللياقة البدنية. للرجوع إلى المشروع النهائي، يُرجى الاطّلاع على الفرع الرئيسي على GitHub.

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

لمواصلة رحلتك في "المهام مع مساعد Google"، يُرجى الاطّلاع على المراجع التالية:

يمكنك متابعتنا على Twitter @ActionsOnGoogle لمعرفة آخر الأخبار، كما يمكنك نشر تغريدة على #appactions لمشاركة ما أنجزته.

استطلاع لجمع الملاحظات

أخيرًا، يُرجى ملء هذا الاستطلاع لتقديم ملاحظاتك حول تجربتك في هذا الدرس التطبيقي حول الترميز.