Dynamische Verknüpfungen an Assistant senden

Android-Verknüpfungen bieten Nutzern eine schnelle Möglichkeit, eine Aktion auszuführen oder auf Inhalte in einer App zuzugreifen. Assistant kann Nutzern zu geeigneter Zeit Ihre dynamischen Android-Verknüpfungen proaktiv vorschlagen, damit sie Ihre sprachgestützten Funktionen ganz einfach finden und verwenden können.

Beispielsweise haben Sie die Möglichkeit, eine Verknüpfung für jede Notiz zu erstellen, die ein Nutzer in Ihre Notizen-App. Sie machen dynamische Links, die auf Google-Plattformen wie Assistant indem Sie Ihrem Projekt die Google Shortcuts Integration Jetpack-Bibliothek hinzufügen. Mit dieser Bibliothek kann Assistant dynamische Verknüpfungen übernehmen, die du über die ShortcutManagerCompat-Klasse, einem Jetpack-Wrapper für die ShortcutManager API verwenden.

Wenn Sie die Bibliothek „Google Shortcuts Integration“ in Ihrer App verwenden, sind dynamische Verknüpfungen, die Sie an Google senden, für Nutzer als Vorschläge für Sprachverknüpfungen in der Assistant App sichtbar. Mit der Methode pushDynamicShortcut() der Bibliothek ShortcutManagerCompat können Sie eine unbegrenzte Anzahl von dynamischen Verknüpfungen an Assistant senden.

Entwicklungsprojekt konfigurieren

Wenn Sie Ihrer App dynamische Verknüpfungen hinzufügen möchten, benötigen Sie die Bibliothek „Google Shortcuts Integration“, eine Android Jetpack-Bibliothek. In diesem Abschnitt wird beschrieben, wie Sie Ihr App-Entwicklungsprojekt so konfigurieren, dass es Folgendes enthält: für diese Bibliothek.

So fügen Sie diese Jetpack-Bibliothek hinzu und konfigurieren Ihr Projekt:

  1. Aktualisieren Sie die gradle.properties-Datei, um Jetpack-Bibliotheken zu verarbeiten:

    gradle.properties

    android.useAndroidX=true
    # Automatically convert third-party libraries to use AndroidX
    android.enableJetifier=true
    
  2. Fügen Sie die Abhängigkeiten der Jetpack-Bibliothek zu build.gradle hinzu:

    app/build.gradle

    dependencies {
     implementation "androidx.core:core:1.6.0"
     implementation "androidx.core:core-google-shortcuts:1.0.1"
     ...
    }
    

    Im obigen Beispielcode listen Sie zwei Jetpack-Bibliotheken auf: Abhängigkeiten. Die androidx.core:core:1.6.0-Bibliothek enthält die Klasse ShortcutManagerCompat, mit der Sie dynamische Verknüpfungen senden können Google.

    androidx.core:core-google-shortcuts:1.0.1 steht für Google Shortcuts Integration Library. Diese Bibliothek enthält keine API für Entwickler. Wenn Sie sie als Abhängigkeit hinzufügen, kann Assistant die dynamischen Verknüpfungen übernehmen, die Sie mit der ShortcutManagerCompat-Klasse senden.

Dynamische Tastenkombinationen senden

Wenn Sie dynamische Verknüpfungen senden möchten, die in Assistant angezeigt werden können, erstellen Sie die Verknüpfung zuerst mit der Klasse ShortcutInfoCompat.Builder().

Anschließend drücken Sie die Verknüpfung mithilfe der ShortcutManagerCompat.pushDynamicShortcut()-Methode. Verknüpfungen werden gedrückt Ein Nutzer führt eine relevante Aktion in Ihrer App aus. Im folgenden Beispiel .

ExampleOrderActivity

Kotlin

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

Java

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

Der Wert von id, auf den im vorherigen Beispielcode in der Methode ShortcutInfoCompat.Builder verwiesen wird, definiert die shortcutId des resultierenden Verknüpfungsobjekts. Dieses id muss ein eindeutiges Stringliteral sein. Weitere Informationen finden Sie in der Dokumentation zu Android-Verknüpfungen

Im vorherigen Beispiel bindet die addCapabilityBinding-Methode den dynamischen Verknüpfungs-Shortcut an einen capability derselben android:name, die in shortcuts.xml definiert ist. Mit dieser Methode können Sie die Verknüpfung mit einem semantischen integrierten Intent (BII)-Parameter.

Dynamische Verknüpfungen werden manchmal ohne einen bestimmten BII-Parameter gesendet Verknüpfung. Wenn der Nutzer die Verknüpfung aufruft, löst Assistant die in der Verknüpfung definierte intent aus, um die Aktion auszuführen. Das folgende Beispiel zeigt einen dynamischen Verknüpfungs-Shortcut ohne Parameterverknüpfung:

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("Create a list")
    .setLongLabel("Create a list")
    .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST")
    .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("Create a list")
  .setLongLabel("Create a list")
  .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST")
  .setIntent(intent)
  .build();

ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);

Dynamische Verknüpfungen mit Assistant testen

Wenn Google Assistant eine dynamische Verknüpfung von Ihrem kann die Tastenkombination als Vorschlag für Sprachkürzel in der Assistant-App für Android. Die Assistant App schlägt die neuesten Kurzbefehle vor die von Ihrer App bereitgestellt werden.

So testen Sie dynamische Verknüpfungen mit Assistant:

  1. Erstellen Sie eine Vorschau Ihrer App-Aktionen und bereiten Sie Ihr Testgerät oder Ihren Emulator für das Testen von Aktionen vor. Folgen Sie dabei denselben Einrichtungsanforderungen wie für das Google Assistant-Plug-in.
  2. Öffnen Sie Ihre App und definieren Sie eine dynamische Verknüpfung, die gesendet werden soll. Führen Sie dann eine Aktion aus. Wenn Sie beispielsweise einen Hotkey drücken, wenn in Ihrer Notiz-App eine Notiz erstellt wird, wird eine neue Notiz erstellt.
  3. Öffnen Sie auf Ihrem Gerät in den Einstellungen für Assistant die Option Verknüpfungen. Die dynamische Verknüpfung wird in der Liste für Ihre App angezeigt.