میانبرهای پویا را به دستیار فشار دهید

میانبرهای اندروید روش‌های سریعی را برای انجام یک عمل یا دسترسی به محتوای یک برنامه در اختیار کاربران قرار می‌دهند. دستیار می‌تواند به طور فعال میانبرهای پویا اندروید شما را در زمان‌های مربوطه به کاربران پیشنهاد دهد، و به کاربران امکان می‌دهد به راحتی عملکردهای فعال‌شده با صدای شما را کشف و پخش کنند.

به عنوان مثال، می‌توانید برای هر یادداشتی که کاربر در برنامه یادداشت‌برداری خود ایجاد می‌کند، میانبری را فشار دهید. با افزودن کتابخانه Jetpack یکپارچه سازی میانبرهای Google به پروژه خود، پیوندهای پویا را برای نمایش در سطوح Google، مانند Assistant واجد شرایط می کنید. این کتابخانه به دستیار اجازه می‌دهد میانبرهای پویا را که با استفاده از کلاس ShortcutManagerCompat فشار می‌دهید، که یک بسته‌بندی Jetpack برای ShortcutManager API است، دریافت کند.

وقتی از کتابخانه ادغام میانبرهای Google در برنامه خود استفاده می کنید، میانبرهای پویا که به Google فشار می دهید به عنوان پیشنهادهای میانبر صوتی در برنامه دستیار برای کاربران قابل مشاهده است. با استفاده از روش pushDynamicShortcut() کتابخانه ShortcutManagerCompat می توانید تعداد نامحدودی میانبر پویا را به Assistant فشار دهید.

پروژه توسعه خود را پیکربندی کنید

افزودن عملکرد میانبرهای پویا به برنامه شما به کتابخانه Google Shortcuts Integration نیاز دارد که یک کتابخانه Android Jetpack است. این بخش نحوه پیکربندی پروژه توسعه برنامه خود را برای گنجاندن این کتابخانه توضیح می دهد.

برای افزودن این کتابخانه Jetpack و پیکربندی پروژه خود، این مراحل را دنبال کنید:

  1. فایل gradle.properties خود را برای مدیریت کتابخانه های Jetpack به روز کنید:

    gradle.properties

    android.useAndroidX=true
    # Automatically convert third-party libraries to use AndroidX
    android.enableJetifier=true
    
  2. وابستگی های کتابخانه 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 a menu item
var intent = Intent(context, DisplayOrderActivity::class.java)
intent.action = Intent.ACTION_VIEW
var shortcutInfo = ShortcutInfoCompat.Builder(context, id)
    .setShortLabel("Cappuccino")
    .setLongLabel("Order another cappuccino")
    .addCapabilityBinding(
        "actions.intent.ORDER_MENU_ITEM", "menuItem.name", Arrays.asList("cappuccino")
    )
    .setIntent(intent) // Push the shortcut
    .build()

// Push the shortcut
ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)

جاوا

// Define the dynamic shortcut for a menu item
Intent intent = new Intent(context, DisplayOrderActivity.class);
intent.setAction(Intent.ACTION_VIEW);

ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id)
    .setShortLabel("Cappuccino")
    .setLongLabel("Order another cappuccino")
    .addCapabilityBinding(
      "actions.intent.ORDER_MENU_ITEM", "menuItem.name", Arrays.asList("cappuccino"))
    .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("Order coffee")
    .setLongLabel("Order a cup of coffee")
    .addCapabilityBinding("actions.intent.ORDER_MENU_ITEM")
    .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("Order coffee")
  .setLongLabel("Order a cup of coffee")
  .addCapabilityBinding("actions.intent.ORDER_MENU_ITEM")
  .setIntent(intent)
  .build();

ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);

میانبرهای پویا را با Assistant تست کنید

وقتی دستیار Google با موفقیت میانبر پویا را از برنامه شما دریافت می کند، میانبر واجد شرایط ظاهر شدن به عنوان یک پیشنهاد میانبر صوتی در برنامه Assistant Android است. برنامه دستیار جدیدترین میانبرهایی را که توسط برنامه شما ارائه شده است را پیشنهاد می کند.

برای آزمایش میانبرهای پویا با Assistant، این مراحل را دنبال کنید:

  1. پیش نمایشی از اقدامات برنامه خود ایجاد کنید و دستگاه آزمایشی یا شبیه ساز خود را با پیروی از الزامات راه اندازی مشابه با افزونه Google Assistant برای آزمایش اقدامات آماده کنید.
  2. برنامه خود را باز کنید و یک میانبر پویا برای فشار تعریف کنید. سپس یک عمل را کامل کنید. به عنوان مثال، اگر هر زمان که یادداشتی در برنامه یادداشت برداری شما ایجاد شد، میانبر را فشار دهید، سپس یک یادداشت جدید ایجاد کنید.
  3. میانبرها را در برنامه تنظیمات دستیار در دستگاه خود باز کنید. میانبر پویا شما در لیست برنامه شما ظاهر می شود.