میانبرهای پویا را به دستیار فشار دهید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
میانبرهای اندروید روشهای سریعی را برای انجام یک عمل یا دسترسی به محتوای یک برنامه در اختیار کاربران قرار میدهند. دستیار میتواند به طور فعال میانبرهای پویا اندروید شما را در زمانهای مربوطه به کاربران پیشنهاد دهد، و به کاربران امکان میدهد به راحتی عملکردهای فعالشده با صدای شما را کشف و پخش کنند.
به عنوان مثال، میتوانید برای هر یادداشتی که کاربر در برنامه یادداشتبرداری خود ایجاد میکند، میانبری را فشار دهید. با افزودن کتابخانه Jetpack یکپارچه سازی میانبرهای Google به پروژه خود، پیوندهای پویا را برای نمایش در سطوح Google، مانند Assistant واجد شرایط می کنید. این کتابخانه به دستیار اجازه میدهد میانبرهای پویا را که با استفاده از کلاس ShortcutManagerCompat
فشار میدهید، که یک بستهبندی Jetpack برای ShortcutManager
API است، دریافت کند.
وقتی از کتابخانه ادغام میانبرهای Google در برنامه خود استفاده می کنید، میانبرهای پویا که به Google فشار می دهید به عنوان پیشنهادهای میانبر صوتی در برنامه دستیار برای کاربران قابل مشاهده است. با استفاده از روش pushDynamicShortcut()
کتابخانه ShortcutManagerCompat
می توانید تعداد نامحدودی میانبر پویا را به Assistant فشار دهید.
افزودن عملکرد میانبرهای پویا به برنامه شما به کتابخانه Google Shortcuts Integration نیاز دارد که یک کتابخانه Android Jetpack است. این بخش نحوه پیکربندی پروژه توسعه برنامه خود را برای گنجاندن این کتابخانه توضیح می دهد.
برای افزودن این کتابخانه Jetpack و پیکربندی پروژه خود، این مراحل را دنبال کنید:
فایل gradle.properties
خود را برای مدیریت کتابخانه های Jetpack به روز کنید:
gradle.properties
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
وابستگی های کتابخانه Jetpack را به build.gradle
خود اضافه کنید:
app/build.gradle
dependencies {
implementation "androidx.core:core:1.6.0"
implementation "androidx.core:core-google-shortcuts:1.0.1"
...
}
در کد نمونه قبلی، دو کتابخانه Jetpack را به عنوان وابستگی فهرست می کنید. کتابخانه androidx.core:core:1.6.0
شامل کلاس ShortcutManagerCompat
است که از آن برای ارسال میانبرهای پویا به Google استفاده می کنید.
androidx.core:core-google-shortcuts:1.0.1
کتابخانه ادغام میانبرهای گوگل است. این کتابخانه حاوی API برنامهنویس نیست. با افزودن آن به عنوان یک وابستگی، دستیار را قادر میسازید تا میانبرهای پویایی را که با استفاده از کلاس ShortcutManagerCompat
فشار میدهید، دریافت کند.
میانبرهای پویا را فشار دهید
برای فشار دادن میانبرهای پویا که برای نمایش در Assistant واجد شرایط هستند، ابتدا میانبر را با استفاده از کلاس ShortcutInfoCompat.Builder()
ایجاد می کنید.
سپس میانبر را با استفاده از متد ShortcutManagerCompat.pushDynamicShortcut()
فشار دهید. هر زمان که کاربر یک اقدام مرتبط را در برنامه شما انجام دهد، میانبرها فشار داده می شوند. کد نمونه زیر هر بار که کاربر فهرستی را در برنامه یادداشتها و فهرستها ایجاد میکند، میانبر را فشار میدهد.
ExampleOrderActivity
کاتلین
// Define the dynamic shortcut for an item
var intent = Intent(context, DisplayOrderActivity::class.java)
intent.action = Intent.ACTION_VIEW
var shortcutInfo = ShortcutInfoCompat.Builder(context, id)
.setShortLabel("Running")
.setLongLabel("Start running")
.addCapabilityBinding(
"actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List")
)
.setIntent(intent) // Push the shortcut
.build()
// Push the shortcut
ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
جاوا
// Define the dynamic shortcut for an item
Intent intent = new Intent(context, DisplayOrderActivity.class);
intent.setAction(Intent.ACTION_VIEW);
ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id)
.setShortLabel("Running")
.setLongLabel("Start running")
.addCapabilityBinding(
"actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List"))
.setIntent(intent)
.build();
// Push the shortcut
ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
id
ارجاع شده در روش ShortcutInfoCompat.Builder
در کد نمونه قبلی، shortcutId
شی میانبر حاصل را تعریف می کند. این id
باید یک رشته منحصر به فرد باشد. برای جزئیات، به مستندات میانبرهای Android مراجعه کنید.
در مثال قبل، متد addCapabilityBinding
میانبر پویا را به capability
از همان android:name
که در shortcuts.xml
تعریف شده است، متصل می کند. این روش به شما امکان می دهد میانبر را به یک پارامتر معنایی داخلی (BII) مرتبط کنید.
میانبرهای پویا گاهی اوقات بدون هیچ گونه ارتباط پارامتر BII خاصی اعمال می شوند. هنگامی که توسط کاربر فراخوانی می شود، دستیار intent
تعریف شده در میانبر را برای انجام عمل فعال می کند. مثال زیر یک میانبر پویا بدون ارتباط پارامتر را نشان می دهد:
کاتلین
var intent: Intent = Intent(context, DisplayOrderActivity::class.java)
intent.setPackage(this, "com.sample.app")
intent.setAction(Intent.ACTION_VIEW)
var shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id)
.setShortLabel("Create a list")
.setLongLabel("Create a list")
.addCapabilityBinding("actions.intent.CREATE_ITEM_LIST")
.setIntent(intent)
.build()
ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
جاوا
Intent intent = new Intent(context, DisplayOrderActivity.class);
intent.setPackage(this, "com.sample.app");
intent.setAction(Intent.ACTION_VIEW);
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id)
.setShortLabel("Create a list")
.setLongLabel("Create a list")
.addCapabilityBinding("actions.intent.CREATE_ITEM_LIST")
.setIntent(intent)
.build();
ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
میانبرهای پویا را با Assistant تست کنید
وقتی دستیار Google با موفقیت میانبر پویا را از برنامه شما دریافت می کند، میانبر واجد شرایط ظاهر شدن به عنوان یک پیشنهاد میانبر صوتی در برنامه Assistant Android است. برنامه دستیار جدیدترین میانبرهایی را که توسط برنامه شما ارائه شده است را پیشنهاد می کند.
برای آزمایش میانبرهای پویا با Assistant، این مراحل را دنبال کنید:
- پیش نمایشی از اقدامات برنامه خود ایجاد کنید و دستگاه آزمایشی یا شبیه ساز خود را با پیروی از الزامات راه اندازی مشابه با افزونه Google Assistant برای آزمایش اقدامات آماده کنید.
- برنامه خود را باز کنید و یک میانبر پویا برای فشار تعریف کنید. سپس یک عمل را کامل کنید. به عنوان مثال، اگر هر زمان که یادداشتی در برنامه یادداشت برداری شما ایجاد شد، میانبر را فشار دهید، سپس یک یادداشت جدید ایجاد کنید.
- میانبرها را در برنامه تنظیمات دستیار در دستگاه خود باز کنید. میانبر پویا شما در لیست برنامه شما ظاهر می شود.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Push dynamic shortcuts to Assistant\n\n[Android shortcuts](/guide/topics/ui/shortcuts) provide users with quick\nmethods to perform an action or access content in an app.\nAssistant can proactively suggest your Android dynamic shortcuts to users at\nrelevant times, enabling users to easily discover and replay your\nvoice-enabled functionality.\n\nFor example, you can push a shortcut for each note a user creates in\nyour note taking app. You make\ndynamic links eligible to display on Google surfaces, like Assistant,\nby adding the [Google Shortcuts Integration Jetpack library](/jetpack/androidx/releases/core#core-google-shortcuts-1.0.1) to your project.\nThis library lets Assistant take in dynamic shortcuts you push using the\n[`ShortcutManagerCompat`](/reference/androidx/core/content/pm/ShortcutManagerCompat) class, which is a Jetpack wrapper for the\n[`ShortcutManager`](/reference/android/content/pm/ShortcutManager) API.\n\nWhen you use the Google Shortcuts Integration library in your app, dynamic\nshortcuts you push to Google are visible to users as voice shortcut suggestions\nin the Assistant app. You can push an unlimited number of dynamic shortcuts to\nAssistant using the [`pushDynamicShortcut()`](/reference/androidx/core/content/pm/ShortcutManagerCompat#pushDynamicShortcut(android.content.Context,%20androidx.core.content.pm.ShortcutInfoCompat)) method of the\n`ShortcutManagerCompat` library.\n\nConfigure your development project\n----------------------------------\n\nAdding dynamic shortcuts functionality to your app requires the\nGoogle Shortcuts Integration library, which is an Android Jetpack library.\nThis section describes how to configure your app development project to include\nthis library.\n\nTo add this Jetpack library and configure your project, follow these steps:\n\n1. Update your `gradle.properties` file to handle Jetpack libraries:\n\n **gradle.properties** \n\n android.useAndroidX=true\n # Automatically convert third-party libraries to use AndroidX\n android.enableJetifier=true\n\n2. Add the Jetpack library dependencies to your `build.gradle`:\n\n **app/build.gradle** \n\n dependencies {\n implementation \"androidx.core:core:1.6.0\"\n implementation \"androidx.core:core-google-shortcuts:1.0.1\"\n ...\n }\n\n In the preceding sample code, you list two Jetpack libraries as\n dependencies. The `androidx.core:core:1.6.0` library contains the\n `ShortcutManagerCompat` class, which you use to push dynamic shortcuts to\n Google.\n\n The `androidx.core:core-google-shortcuts:1.0.1` is the Google\n Shortcuts Integration library. This library contains no developer-facing\n API. By adding it as a dependency, you enable Assistant to take in the\n dynamic shortcuts you push using the `ShortcutManagerCompat` class.\n | **Note:** Visit the [Jetpack library explorer](/jetpack/androidx/explorer) to find the latest versions of the Core and Google Shortcuts Integration libraries.\n\nPush dynamic shortcuts\n----------------------\n\nTo push dynamic shortcuts that are eligible for display on Assistant,\nyou first create the shortcut using the `ShortcutInfoCompat.Builder()`\nclass.\n\nYou then push the shortcut using the\n`ShortcutManagerCompat.pushDynamicShortcut()` method. Shortcuts are pushed\nwhenever a user completes a relevant action in your app. The following sample\ncode pushes a shortcut every time a user creates a list in a notes and lists app.\n\n**ExampleOrderActivity** \n\n### Kotlin\n\n```kotlin\n// Define the dynamic shortcut for an item\nvar intent = Intent(context, DisplayOrderActivity::class.java)\nintent.action = Intent.ACTION_VIEW\nvar shortcutInfo = ShortcutInfoCompat.Builder(context, id)\n .setShortLabel(\"Running\")\n .setLongLabel(\"Start running\")\n .addCapabilityBinding(\n \"actions.intent.CREATE_ITEM_LIST\", \"itemList.name\", Arrays.asList(\"My First List\")\n )\n .setIntent(intent) // Push the shortcut\n .build()\n\n// Push the shortcut\nShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)\n```\n\n### Java\n\n```java\n// Define the dynamic shortcut for an item\nIntent intent = new Intent(context, DisplayOrderActivity.class);\nintent.setAction(Intent.ACTION_VIEW);\n\nShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id)\n .setShortLabel(\"Running\")\n .setLongLabel(\"Start running\")\n .addCapabilityBinding(\n \"actions.intent.CREATE_ITEM_LIST\", \"itemList.name\", Arrays.asList(\"My First List\"))\n .setIntent(intent)\n .build();\n\n// Push the shortcut\nShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);\n```\n\nThe `id` referenced in the `ShortcutInfoCompat.Builder` method in the preceding\nsample code defines the `shortcutId` of the resulting shortcut object. This `id`\nmust be a unique string literal. For details, see the\n[Android Shortcuts documentation](/reference/android/content/pm/ShortcutInfo#getId()).\n\nIn the preceding example, the `addCapabilityBinding` method binds the dynamic\nshortcut to a `capability` of the same `android:name` defined in\n`shortcuts.xml`. This method lets you associate the shortcut to a\nsemantic [built-in intent](/guide/app-actions/intents) (BII) parameter.\n\nDynamic shortcuts sometimes are pushed without any particular BII parameter\nassociation. When invoked by the user, Assistant triggers the `intent` defined\nin the shortcut to fulfill the action. The following example shows a dynamic\nshortcut with no parameter association: \n\n### Kotlin\n\n```kotlin\nvar intent: Intent = Intent(context, DisplayOrderActivity::class.java)\nintent.setPackage(this, \"com.sample.app\")\nintent.setAction(Intent.ACTION_VIEW)\n\nvar shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id)\n .setShortLabel(\"Create a list\")\n .setLongLabel(\"Create a list\")\n .addCapabilityBinding(\"actions.intent.CREATE_ITEM_LIST\")\n .setIntent(intent)\n .build()\n\nShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);\n```\n\n### Java\n\n```java\nIntent intent = new Intent(context, DisplayOrderActivity.class);\nintent.setPackage(this, \"com.sample.app\");\nintent.setAction(Intent.ACTION_VIEW);\n\nShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id)\n .setShortLabel(\"Create a list\")\n .setLongLabel(\"Create a list\")\n .addCapabilityBinding(\"actions.intent.CREATE_ITEM_LIST\")\n .setIntent(intent)\n .build();\n\nShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);\n```\n\nTest dynamic shortcuts with Assistant\n-------------------------------------\n\nWhen Google Assistant successfully takes in a dynamic shortcut from your\napplication, the shortcut is eligible to appear as a Voice Shortcut suggestion in the\nAssistant Android app. The Assistant app suggests the most recent shortcuts\npushed by your app.\n\nTo test your dynamic shortcuts with Assistant, follow these steps:\n\n1. Create a preview of your App Actions and prepare your test device or emulator for testing actions by following the same setup requirements as for the [Google Assistant Plugin](/guide/app-actions/test-tool).\n2. Open your app and define a dynamic shortcut to push. Then complete an action. For example, if you push a shortcut whenever a note is created in your note taking app, then create a new note.\n3. Open **Shortcuts** in the **Assistant Settings** app on your device. Your dynamic shortcut appears in the list for your app."]]