قابلیتهای shortcuts.xml به شما امکان میدهد انواع اقداماتی را که کاربران میتوانند برای راهاندازی برنامهتان انجام دهند و مستقیماً یک کار خاص انجام دهند، اعلام کنید.
برای مثال، Google Assistant App Actions از قابلیتهایی استفاده میکند که به توسعهدهندگان اجازه میدهد ویژگیهای درونبرنامه را به مقاصد داخلی (BII) گسترش دهند و به کاربران این امکان را میدهد تا با استفاده از دستورات گفتاری آن ویژگیها را فعال و کنترل کنند. یک قابلیت شامل نام عمل و intent است که مقصد را در برنامه شما هدف قرار می دهد که هدف کاربر را برطرف می کند.
قابلیت ها را در shortcuts.xml تعریف کنید
شما عناصر capability در یک فایل منبع shortcuts.xml در پروژه توسعه برنامه Android خود تعریف می کنید. برای تعریف عنصر capability ، موارد زیر را انجام دهید:
- با دنبال کردن دستورالعملهای موجود در Create static shortcuts، یک منبع
shortcuts.xmlایجاد کنید. اطلاعات مورد نیاز زیر را در توانایی خود بگنجانید:
نام قابلیت: اقدامی که میخواهید برنامه شما از آن پشتیبانی کند. برای ویژگی هایی که به تعریف قابلیت نیاز دارند به مستندات مؤلفه مراجعه کنید. فرمانهای فعالسازی صوتی App Actions
Action IDBII برای نامهای قابلیتها استفاده میکنند که میتوانید در مرجع BII پیدا کنید. برای مثال،GET_THINGBIIAction IDخود را بهعنوانactions.intent.GET_THINGفهرست میکند.مقصد برنامه: مقصدی که در برنامه شما انجام میشود تا درخواست کاربر را برآورده کند. با استفاده از عناصر
intentتو در تو در داخلcapabilityمقصد برنامه را تعریف کنید.نگاشت پارامترها: هر
intentممکن است حاوی پارامترهایی باشد که به عنوان داده هایextraقصد ارسال شوند. برای مثال، هر App Actions BII شامل فیلدهایی است که نشان دهنده اطلاعاتی است که کاربران اغلب در جستارهایی که BII را راهاندازی میکنند ارائه میکنند.
مثال زیر یک تعریف قابلیت را در shortcuts.xml برای actions.intent.START_EXERCISE نشان میدهد، یک BII که به کاربران اجازه میدهد از دستورات گفتاری با Assistant برای شروع تمرین در یک برنامه تناسب اندام استفاده کنند:
<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="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
در مثال قبل، ویژگی <capability> android:name به START_EXERCISE BII اشاره دارد. اگر کاربری این BII را با پرسیدن «Hey Google, start a run in ExampleApp» از «دستیار» فراخوانی کند، «دستیار» درخواست کاربر را با استفاده از اطلاعات ارائه شده در عنصر intent تودرتو برآورده میکند. intent در این نمونه جزئیات زیر را تعریف می کند:
-
android:targetPackageبسته برنامه هدف را برای این هدف تنظیم می کند. - فیلد
android:targetClassفعالیت مقصد را مشخص میکند:com.example.sampleApp.ExerciseActivity. -
parameterintent پشتیبانی از یک پارامتر BIIexercise.nameو نحوه ارسال مقدار پارامتر - جمع آوری شده از کاربر - را به عنوان داده اضافی درintentاعلام می کند.
میانبرها را با یک قابلیت مرتبط کنید
هنگامی که یک قابلیت را تعریف کردید، می توانید عملکرد آن را با مرتبط کردن میانبرهای ایستا یا پویا با آن گسترش دهید. نحوه پیوند میانبرها به یک capability بستگی به ویژگی در حال پیاده سازی و کلمات واقعی موجود در درخواست کاربر دارد. به عنوان مثال، زمانی که کاربری با پرسیدن «Hey Google, start a run in ExampleApp» را از «دستیار» شروع به اجرای برنامه ردیابی تناسب اندام شما می کند. Assistant میتواند از یک میانبر برای راهاندازی نمونهای از capability استفاده کند که یک موجودیت تمرین معتبر "run" را برای پارامتر exercise.name تعریف میکند.
برای اطلاعات بیشتر در مورد مرتبط کردن میانبرها به عملکردهای برنامه، به نمای کلی اقدامات برنامه مراجعه کنید.