推送動態捷徑至 Google 助理

使用者可以運用 Android 快速鍵 在應用程式中執行動作或存取內容的方法。 Google 助理可以主動向以下使用者建議 Android 動態捷徑: 方便使用者找到並重播 語音操控。

舉例來說,您可以針對使用者建立的每則記事推送捷徑 記事應用程式您做出了 可在 Google 介面 (例如 Google 助理) 上顯示的動態連結 將 Google 捷徑整合 Jetpack 程式庫新增至您的專案。 這個程式庫可讓 Google 助理在你使用 ShortcutManagerCompat 類別,這是用於 ShortcutManager API。

在應用程式中使用 Google 捷徑整合資料庫時,系統會將動態 使用者會看到您推送至 Google 的捷徑,做為語音捷徑建議 。您可以推送不限數量的動態捷徑至 Google 助理會使用以下應用程式的 pushDynamicShortcut() 方法: ShortcutManagerCompat 程式庫。

設定開發專案

在應用程式中新增動態捷徑功能需要 Google 捷徑整合程式庫,這是 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 是 Google 捷徑整合程式庫。此程式庫不含任何開發人員專用 API。新增為依附元件後,Google 助理就能處理 使用 ShortcutManagerCompat 類別推送的動態捷徑。

推送動態捷徑

如要推送可顯示在 Google 助理的動態捷徑,請按照下列步驟操作: 您必須先使用 ShortcutInfoCompat.Builder() 建立捷徑 類別

接著,您可以使用 ShortcutManagerCompat.pushDynamicShortcut() 方法。已推送捷徑 每當使用者在應用程式中完成相關動作時。下列範例 程式碼會在每次使用者透過餐點外送應用程式下單時推送捷徑:

ExampleOrderActivity

Kotlin

// 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)

Java

// 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);

上述程式碼範例中,參考 ShortcutInfoCompat.Builder 方法的 id 會定義產生的捷徑物件 shortcutId。此id 必須是不重複的字串常值。詳情請參閱「Android 捷徑說明文件」。

在上述範例中,addCapabilityBinding 方法可將動態捷徑繫結至與 shortcuts.xml 中定義的相同 android:name capability。這個方法可讓您將捷徑與 語意內建意圖 (BII) 參數。

動態捷徑有時會在沒有特定 BII 參數的情況下推送 。使用者叫用時,Google 助理會觸發捷徑中定義的 intent 以執行動作。以下範例顯示沒有參數關聯的動態捷徑:

Kotlin

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);

Java

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);

透過 Google 助理測試動態捷徑

Google 助理成功從 應用程式,該捷徑就有資格顯示為語音捷徑建議, Android 版 Google 助理應用程式。「Google 助理」應用程式會建議最新的快速指令 直接由您的應用程式推送

如要使用 Google 助理測試動態捷徑,請按照下列步驟操作:

  1. 建立應用程式動作預覽畫面,並準備測試裝置,或 用於測試動作的模擬器 Google 助理外掛程式的安裝需求。
  2. 請開啟應用程式,並定義要推送的動態捷徑。然後完成一項動作。 舉例來說,如果要在筆記應用程式中建立筆記時推送捷徑,那麼就請建立新的筆記。
  3. 在裝置上的「Assistant Settings」(Google 助理設定) 應用程式中開啟「Shortcuts」(捷徑)。您的 動態捷徑會顯示在應用程式清單中。