1. نظرة عامة
باستخدام "مهامّ في التطبيقات"، يمكنك استخدام "مساعد Google" للانتقال مباشرةً إلى ميزات التطبيقات وإكمال المهام باستخدام صوتك. بصفتك مطوّر برامج Android، عليك تنفيذ عناصر الإمكانات لإضافة مهامّ في التطبيقات. تتيح الإمكانات لـ "مساعد Google" معرفة ميزات التطبيق التي تتوافق مع الطلبات الصوتية للمستخدمين، والطريقة التي تريد بها تنفيذ هذه الطلبات.
يتناول هذا الدرس التطبيقي حول الترميز مفاهيم للمبتدئين حول التطوير باستخدام مهامّ في التطبيقات. يجب أن يكون لديك خبرة سابقة في تطوير تطبيقات Android وأهداف Android لمتابعة هذا الدرس التطبيقي حول الترميز. إذا كنت حديث العهد بنظام التشغيل Android، يمكنك بدلاً من ذلك البدء بأحد دروس الترميز حول أساسيات تطوير تطبيقات Android.
ما ستنشئه
في هذا الدرس التطبيقي حول الترميز، ستضيف غرضَين مضمّنَين من "مهامّ في التطبيقات" إلى تطبيق Android تجريبي خاص باللياقة البدنية، ما يتيح للمستخدمين بدء مؤقّت التمارين وإيقافه باستخدام صوتهم.
أهداف الدورة التعليمية
ستتعرّف على كيفية استخدام واجهات BII من فئة الصحة واللياقة البدنية لتوسيع نطاق "مساعد Google" ليشمل تطبيق Android، كما ستتعرّف على كيفية استخدام المكوّن الإضافي لـ "مساعد Google" في "استوديو Android" لاختبار واجهات BII.
المتطلبات الأساسية
قبل المتابعة، تأكَّد من توفّر الأدوات التالية في بيئتك:
- وحدة طرفية لتنفيذ أوامر shell مع تثبيت git
- أحدث إصدار من استوديو Android
- حساب Google لديه إذن الوصول إلى [Google Play Console][].
- جهاز Android فعلي أو افتراضي يمكنه الوصول إلى الإنترنت وإلى "متجر Play"
قبل المتابعة، تأكَّد من تسجيل الدخول إلى حساب Google نفسه في استوديو Android وتطبيق Google على جهاز اختباري.
2. التعرّف على طريقة العمل
تربط "مهامّ في التطبيقات" المستخدمين من "مساعد Google" بتطبيق Android. كيف تعمل هذه الإجراءات؟
عندما يطلب مستخدم من "مساعد Google" تنفيذ مهمة باستخدام تطبيقك، يطابق "مساعد Google" طلب البحث مع capability "مهامّ في التطبيقات" المحدَّدة في ملف shortcuts.xml XML الخاص بتطبيقك.

الشكل 1: مخطّط انسيابي يوضّح كيفية معالجة "مساعد Google" لطلب بحث صوتي باستخدام "مهامّ في التطبيقات"
يحدّد كل عنصر من عناصر الإمكانات ما يلي:
- الغرض: الغرض الصوتي من "مهامّ في التطبيقات" الذي يجب أن يؤدي إلى تشغيل الميزة.
- عملية تنفيذ واحدة أو أكثر: هي طلبات Android أو الروابط لصفحات معيّنة التي ينشئها "مساعد Google" لتشغيل التطبيق وتنفيذ طلب المستخدم الصوتي. تحدّد تعريفات التنفيذ المَعلمات المتوقّعة من طلب بحث المستخدم، وكيفية ترميز هذه المَعلمات في تعليمات التشغيل.
مكان ووقت الاستماع إلى الموسيقى
في فهم اللغة الطبيعية (NLU)، يشير الغرض إلى مجموعة من عبارات المستخدمين التي تحمل معاني متشابهة. أتاحت Google عشرات النوايا المضمّنة (BII) التي تغطي مجموعة كبيرة ومتنوعة من أنواع الطلبات مع "مهامّ في التطبيقات". على سبيل المثال، تم تدريب "مساعد Google" على ربط العبارتين "أريد طلب بيتزا" أو "عرض قائمة الحلويات" بواجهة برمجة التطبيقات ORDER_MENU_ITEM. باستخدام "مهامّ في التطبيقات"، يمكنك الاستفادة من هذه النوايا المضمّنة (BII) لتوسيع نطاق الطلبات الصوتية الشائعة بسرعة ليشمل وظائف التطبيق.
عمليات التنفيذ
عندما يؤدي طلب مستخدم إلى تشغيل "إجراء تطبيق" في shortcuts.xml، يجب أن يرصد نشاط Android الوارد ويُعالجه، سواء كان ذلك غرض Android أو رابطًا لصفحة معيّنة، وأن يوفّر للمستخدم الوظيفة المطلوبة. والنتيجة هي تجربة مستخدم تعتمد على الصوت، حيث يستدعي "مساعد Google" تطبيقك استجابةً لطلب المستخدم.
3- إعداد بيئة التطوير
يستخدم هذا الدرس التطبيقي التطبيق النموذجي Fitness لنظام التشغيل Android. يتيح هذا التطبيق للمستخدمين بدء مؤقت التمرين وإيقافه، والاطّلاع على إحصاءات حول روتين التمارين الرياضية.
تنزيل الملفات الأساسية
للحصول على الملفات الأساسية لهذا الدرس التطبيقي حول الترميز، شغِّل الأمر التالي لاستنساخ مستودع GitHub:
git clone --branch codelab-start https://github.com/actions-on-google/appactions-fitness-kotlin.git
بعد استنساخ المستودع، افتحه في Android Studio:
- في مربّع الحوار مرحبًا بك في "استوديو Android"، انقر على استيراد مشروع.
- ابحث عن المجلد الذي نسخت فيه المستودع واختَره.
تعديل معرّف تطبيق Android
يؤدي تعديل معرّف التطبيق إلى تحديد التطبيق بشكلٍ فريد على جهاز الاختبار وتجنُّب الخطأ "اسم حزمة مكرّر" في حال تحميل التطبيق إلى Play Console. لتعديل معرّف التطبيق، افتح app/build.gradle:
android {
...
defaultConfig {
applicationId "com.MYUNIQUENAME.android.fitactions"
...
}
}
استبدِل "MYUNIQUENAME" في الحقل applicationId باسم فريد خاص بك.
تجربة التطبيق على جهازك
قبل إجراء المزيد من التغييرات على رمز التطبيق، من المفيد الحصول على فكرة عمّا يمكن أن يفعله نموذج التطبيق. يتضمّن اختبار التطبيق في بيئة التطوير الخطوات التالية:
- فتح جهاز اختبار Android الافتراضي أو الفعلي
- التأكّد من أنّ تطبيق "مساعد Google" يعمل
- استخدام استوديو Android لنشر نموذج تطبيق وتشغيله على جهازك.
اتّبِع الخطوات التالية لاختبار تطبيقك:
- في "استوديو Android"، اختَر تشغيل > تشغيل التطبيق أو انقر على تشغيل
في شريط الأدوات. - في حال استخدام جهاز افتراضي، اختَر جهازًا افتراضيًا في مربّع الحوار اختيار هدف النشر، ثم انقر على حسنًا. يُنصح باستخدام الإصدار 8 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 26) أو الإصدارات الأحدث، على الرغم من أنّ "الإجراءات" تعمل على الأجهزة التي تعمل بالإصدار 5 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 21) أو الإصدارات الأحدث.
- بعد فتح التطبيق، اضغط مع الاستمرار على زرّ الشاشة الرئيسية لإعداد "مساعد Google" والتأكّد من أنّه يعمل. سجِّل الدخول إلى "مساعد Google" إذا لم يسبق لك إجراء ذلك.
- أعد فتح التطبيق.

الشكل 2: تطبيق Fit Actions النموذجي يعرض إحصاءات التمارين.
استكشِف التطبيق سريعًا لمعرفة ما يمكنه فعله. يؤدي النقر على رمز "الجري" إلى بدء مؤقّت التمرين، ويؤدي النقر على رمز X إلى إيقاف المؤقّت. هذه هي المهام التي ستفعّلها للتحكّم الصوتي باستخدام "مهامّ في التطبيقات".
تثبيت مكوّن "مساعد Google" الإضافي
تتيح لك إضافة "مساعد Google" اختبار "مهامّ في التطبيقات" على جهاز اختباري. اتّبِع الخطوات التالية لإضافته إلى "استوديو Android":
- انتقِل إلى ملف (File) > الإعدادات (Settings) (استوديو Android (Android Studio) > الإعدادات المفضّلة (Preferences) على نظام التشغيل MacOS).
- في قسم "المكوّنات الإضافية" (Plugins)، انتقِل إلى Marketplace وابحث عن "مساعد Google".
- ثبِّت الأداة وأعِد تشغيل "استوديو Android".
4. إضافة إمكانية "بدء التمرين" في BII
تتيح actions.intent.START_EXERCISE BII للمستخدمين فتح تطبيق وبدء تمرين باستخدام صوتهم. في هذه الخطوة، عليك تنفيذ إحدى إمكانات واجهة BII، ما يتيح للمستخدمين الطلب من "مساعد Google" بدء تمرين في تطبيق "اللياقة البدنية".
تحديد الإمكانية
يستخدم "مساعد Google" عناصر capability محدّدة في shortcuts.xml لمعالجة الطلبات الصوتية باتّباع الخطوات التالية:
- يطابق "مساعد Google" طلب المستخدم الصوتي مع إجراء مدمج (BII) محدّد في إمكانات تطبيقك.
- يستخرج "مساعد Google" القيم من طلب البحث إلى مَعلمات BII. تتم إضافة كلّ معلَمة إلى
BundleمرفقةIntentتم إنشاؤها. - يستخدم "مساعد Google"
Intentلتشغيل التطبيق، ما يمنح التطبيق إذن الوصول إلى المَعلمات المجمّعة.
تتوافق واجهة BII الخاصة بـ START_EXERCISE مع مَعلمة واجهة BII الخاصة بـ exercise.name. ستستخدم هذه المَعلمة للسماح للمستخدمين بتحديد نوع التمرين الذي يريدون تتبُّعه في التطبيق.
أضِف 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_EXERCISEBII. - تحدّد هذه السمة
intentAndroid التي ينشئها "مساعد Google" لتشغيل التطبيق:- تحدّد السمتان
targetPackageوtargetClassالنشاط الذي سيتم استقبال البيانات فيه. - تربط السمة
parameterالمَعلمةexercise.nameBII بـexerciseTypeفي الإضافاتBundleالتي يتلقّاها النشاط.
- تحدّد السمتان
التعامل مع مَعلمات BII باستخدام مستودع إعلاني مضمّن
تمثّل مَعلمات BII العناصر المستخرَجة من طلب بحث يجريه مستخدم على "مساعد Google". على سبيل المثال، عندما يقول المستخدم "Ok Google، ابدأ التمرين على ExampleApp"، يستخرج "مساعد Google" كلمة "تمرين" إلى مَعلمة exercise.name schema.org الخاصة بواجهة BII. بالنسبة إلى بعض واجهات BII، يمكنك توجيه "مساعد Google" لمطابقة مَعلمات واجهة BII مع مجموعة من المعرّفات التي يتوقّعها تطبيقك.
يمكنك إجراء ذلك من خلال ربط عناصر المستودع الإعلاني المضمّن بمَعلمة BII. المستودع المضمّن هو مجموعة من قيم مَعلمات BII المتوافقة، مثل "الجري" و"رحلة مسير" و "الركض"، ومعرّف الاختصار المقابل لها، مثل EXERCISE_RUN. يتيح ربط المستودع هذا لـ "مساعد Google" تمرير معرّف الاختصار للمَعلمات المطابقة، بدلاً من قيمة طلب البحث الأوّلية، إلى نشاط التنفيذ.
تتطلّب بعض مَعلمات معلومات النشاط التجاري المضمّنة، مثل 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_EXCERCISEBII نفسه المحدّد للقدرة. - يشير العنصر
parameter-bindingلكل مفتاح اختصار إلى مَعلمةexercise.nameBII.
إضافة مرادفات للمستودع المضمّن
تشير سمات android:value لعنصر parameter-binding في اختصارات المستودع أعلاه إلى مورد مصفوفة من المرادفات لكل عنصر من عناصر المستودع. تتيح المرادفات استخدام صيغ مختلفة لنوع عنصر معيّن، مثل "ركض" و"هرولة" و "عدو" للإشارة إلى 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 الواردة
رسائل Intent في Android هي عناصر مراسلة يستخدمها Android لطلب إجراء من تطبيق آخر. ينفّذ "مساعد Google" طلبات البحث الصوتية التي يقدّمها المستخدمون من خلال إنشاء رسالة Intent من تفاصيل الإعداد في الإمكانية التي تم تفعيلها. لتنفيذ طلبات START_EXERCISE، عدِّل الفئة المستهدَفة FitMainActivity للتعامل مع الطلب الوارد ومَعلمات واجهة 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 المجمّعة في الغرض START_EXERCISE من خلال intent?.extras?.getString(START_EXERCISE). تعدّل بقية الدالة FitTrackingFragment لعرض نوع اللياقة البدنية startExercise الذي تم اختياره.
اختبار "إجراء التطبيق"
أثناء تطوير "إجراءات التطبيقات"، يمكنك استخدام المكوّن الإضافي لـ "مساعد Google" لمعاينة إجراءاتك على جهاز اختبار. يمكنك أيضًا استخدام المكوّن الإضافي لتعديل قيم مَعلمات هدف "الإجراء" لاختبار كيفية تعامل تطبيقك مع الطرق المختلفة التي قد يصوغ بها المستخدم طلبًا من "مساعد Google" لتطبيقك.
لاختبار "إجراء التطبيق" باستخدام المكوّن الإضافي، اتّبِع الخطوات التالية:
- شغِّل تطبيقك في "استوديو Android" من خلال اختيار تشغيل > تشغيل التطبيق أو النقر على رمز التشغيل في شريط الأدوات العلوي.
- انتقِل إلى الأدوات > مهامّ في التطبيقات > مساعد Google > أداة اختبار مهامّ في التطبيقات.
- انقر على إنشاء معاينة. راجِع سياسات وبنود خدمة "مهامّ في التطبيقات" واقبلها إذا طُلب منك ذلك.
- اختَر النية المضمّنة
actions.intent.START_EXERCISE. - في مربّع التمرين، اترك القيمة التلقائية الجري.
- انقر على تنفيذ إجراء التطبيق. تأكَّد من أنّ "مساعد Google" يربط لصفحة في التطبيق بمؤقّت التمارين، ومن أنّ المؤقّت قد بدأ تمرينًا من نوع الركض.
لقد نفّذت أول "مهامّ في التطبيقات" باستخدام START_EXERCISE BII. تهانينا! بعد ذلك، سنسمح للمستخدمين بإيقاف تمرين قيد التشغيل في تطبيقك.
5- إضافة إمكانية "إيقاف التمرين" في BII
تتيح واجهة برمجة التطبيقات actions.intent.STOP_EXERCISE المضمّنة للمستخدمين إيقاف جلسة تمرين من خلال طلبات مثل "Ok Google، أريد إيقاف الركض في ExampleApp". نفِّذ هذه النية المضمّنة في تطبيق "اللياقة البدنية" من خلال إضافة 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 الواردة
فعِّل التطبيق للتعامل مع أغراض Android الواردة STOP_EXERCISE من خلال تعديل فئة 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 في هدف Android الوارد. في حال العثور على التطبيق، توقف الدالة الموقّت النشط وتعيد المستخدم إلى الشاشة الرئيسية.
اختبار "إجراء التطبيق"
اختبِر "إجراءات التطبيق" باستخدام مكوّن "مساعد Google" الإضافي باتّباع الخطوات التالية:
- شغِّل تطبيقك في "استوديو Android" من خلال اختيار تشغيل > تشغيل التطبيق أو النقر على رمز التشغيل في شريط الأدوات العلوي.
- في التطبيق، ابدأ تمرينًا جديدًا من نوع "الجري".
- افتح المكوّن الإضافي في "استوديو Android": انتقِل إلى الأدوات > مهامّ في التطبيقات > مساعد Google > أداة اختبار مهامّ في التطبيقات.
- انقر على إنشاء معاينة.
- اختَر النية المضمّنة
actions.intent.STOP_EXERCISE. - في مربّع التمرين، اترك القيمة التلقائية الجري.
- انقر على تنفيذ إجراء التطبيق. تأكَّد من أنّ "مساعد Google" يوقف التمرين ويعيدك إلى الشاشة الرئيسية.
6. الخطوات التالية
تهانينا!
أصبحت الآن على دراية بكيفية تفعيل تطبيق Android باستخدام الأهداف المضمّنة في "مساعد Google". في هذا الدرس التطبيقي حول الترميز، تعلّمت ما يلي:
- كيفية السماح للمستخدمين بالتعمّق في ميزات معيّنة في التطبيق باستخدام "مساعد Google"
- كيفية استخدام المستودع الإعلاني المضمّن
- كيفية اختبار واجهات BII باستخدام إضافة "مساعد Google"
الخطوات التالية
من هنا، يمكنك محاولة إجراء المزيد من التحسينات على تطبيق "اللياقة البدنية". للاطّلاع على المشروع المكتمل، راجِع الفرع الرئيسي على GitHub.
في ما يلي بعض الاقتراحات لمزيد من المعلومات حول توسيع نطاق هذا التطبيق باستخدام "مهام في التطبيقات":
- اطّلِع على الدروس التطبيقية حول الترميز الخاصة بميزة "مهامّ في التطبيقات".
- يمكنك الانتقال إلى مرجع النوايا المضمّنة في "مهامّ في التطبيقات" للتعرّف على المزيد من النوايا المضمّنة التي تتيح لك توسيع نطاق تطبيقاتك ليشمل "مساعد Google".
لمواصلة رحلتك في "إجراءات Google"، يمكنك الاطّلاع على المراجع التالية:
- developers.google.com/assistant: الموقع الإلكتروني الرسمي الذي يقدّم مستندات حول "إجراءات على Google".
- فهرس نماذج "مهامّ في التطبيقات": تطبيقات ونماذج رموز برمجية لاستكشاف إمكانات "مهامّ في التطبيقات"
- مستودع GitHub الخاص بـ Actions on Google: رمز نموذجي ومكتبات.
- r/GoogleAssistantDev: منتدى Reddit الرسمي للمطوّرين الذين يعملون مع "مساعد Google"
تابِعنا على Twitter @ActionsOnGoogle لتبقى على اطّلاع على آخر إعلاناتنا، وشاركنا ما أنشأته من خلال التغريد باستخدام الهاشتاغ #appactions.
استطلاع لجمع الملاحظات
أخيرًا، يُرجى ملء هذا الاستطلاع لتقديم ملاحظات حول تجربتك مع هذا الدرس العملي.