قابلیتهای موجود در shortcuts.xml به شما امکان میدهند انواع اقداماتی را که کاربران میتوانند برای راهاندازی برنامه شما و انجام مستقیم یک کار خاص انجام دهند، اعلام کنید.
برای مثال، اقدامات برنامه دستیار گوگل از قابلیتهایی استفاده میکنند که به توسعهدهندگان اجازه میدهد ویژگیهای درون برنامه را به اهداف داخلی (BII) گسترش دهند و به کاربران اجازه میدهند این ویژگیها را با استفاده از دستورات گفتاری فعال و کنترل کنند. یک قابلیت شامل نام اقدام و یک intent است که مقصد را در برنامه شما هدف قرار میدهد و هدف کاربر را برآورده میکند.
قابلیتها را در shortcuts.xml تعریف کنید
شما عناصر capability در یک فایل منبع shortcuts.xml در پروژه توسعه برنامه اندروید خود تعریف میکنید. برای تعریف یک عنصر capability ، موارد زیر را انجام دهید:
- با دنبال کردن دستورالعملهای موجود در بخش «ایجاد میانبرهای ایستا»، یک منبع
shortcuts.xmlایجاد کنید. اطلاعات مورد نیاز زیر را در توانایی خود لحاظ کنید:
نام قابلیت: عملی که میخواهید برنامه شما از آن پشتیبانی کند. برای ویژگیای که نیاز به تعاریف قابلیت دارد، به مستندات کامپوننت مراجعه کنید. دستورات صوتی App Actions
Action IDBII برای نام قابلیتها استفاده میکنند که میتوانید آن را در مرجع BII پیدا کنید. به عنوان مثال،GET_THINGBIIAction IDخود را به صورتactions.intent.GET_THINGفهرست میکند.مقصد برنامه: مقصدی در برنامه شما که اکشن برای انجام درخواست کاربر اجرا میشود. مقاصد برنامه را با استفاده از عناصر
intentکه درونcapabilityقرار گرفتهاند، تعریف کنید.نگاشت پارامترها: هر
intentممکن است شامل پارامترهایی باشد که به عنوان دادههایextraintent ارسال میشوند. به عنوان مثال، هر App Actions BII شامل فیلدهایی است که نشاندهنده اطلاعاتی هستند که کاربران اغلب در پرسوجوهایی که BII را فعال میکنند، ارائه میدهند.
مثال زیر تعریف قابلیتی را در shortcuts.xml برای actions.intent.START_EXERCISE نشان میدهد، یک BII که به کاربران اجازه میدهد از دستورات گفتاری با دستیار برای شروع تمرین در یک برنامه تناسب اندام استفاده کنند:
<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 اشاره دارد. اگر کاربری با پرسیدن «سلام گوگل، در ExampleApp یک اجرا را شروع کن» از دستیار، این BII را فراخوانی کند، دستیار درخواست کاربر را با استفاده از اطلاعات ارائه شده در عنصر intent تو در تو انجام میدهد. intent در این نمونه جزئیات زیر را تعریف میکند:
-
android:targetPackage بستهی برنامهی هدف را برای این intent تنظیم میکند. - فیلد
android:targetClassاکتیویتی مقصد را مشخص میکند:com.example.sampleApp.ExerciseActivity. -
parameterintent پشتیبانی از پارامتر BIIexercise.nameو نحوه ارسال مقدار پارامتر - که از کاربر جمعآوری شده است - را به عنوان داده اضافی درintentاعلام میکند.
مرتبط کردن میانبرها با یک قابلیت
پس از تعریف یک قابلیت، میتوانید با مرتبط کردن میانبرهای ایستا یا پویا با آن، عملکرد آن را گسترش دهید. نحوهی اتصال میانبرها به یک capability به ویژگی پیادهسازی شده و کلمات واقعی موجود در درخواست کاربر بستگی دارد. به عنوان مثال، وقتی کاربر با پرسیدن «سلام گوگل، در ExampleApp شروع به دویدن میکند»، در برنامهی ردیابی تناسب اندام شما شروع به دویدن میکند. دستیار میتواند از یک میانبر برای راهاندازی نمونهای از یک capability استفاده کند که یک موجودیت تمرین معتبر «run» را برای پارامتر exercise.name تعریف میکند.
برای اطلاعات بیشتر در مورد مرتبط کردن میانبرها با App Actions، به نمای کلی App Actions مراجعه کنید.