Android-Verknüpfungen bieten Nutzern schnelle Methoden, eine Aktion auszuführen oder auf Inhalte in einer App zuzugreifen. Assistant kann Nutzern Ihre dynamischen Android-Verknüpfungen zu bestimmten Zeiten vorschlagen, sodass Nutzer Ihre sprachgesteuerten Funktionen leicht finden und wiedergeben können.
Du kannst beispielsweise für jede Notiz, die ein Nutzer in deiner Notizen-App erstellt, eine Verknüpfung erstellen. Um dynamische Links auf Google-Oberflächen wie Assistant anzeigen zu lassen, musst du deinem Projekt die Google Shortcuts Integration Jetpack-Bibliothek hinzufügen.
Mit dieser Bibliothek kann Assistant dynamische Tastenkombinationen übernehmen, die Sie mit der Klasse ShortcutManagerCompat
übertragen. Dabei handelt es sich um einen Jetpack-Wrapper für die ShortcutManager
API.
Wenn Sie die Bibliothek zur Integration von Google-Verknüpfungen 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. Sie können über die Methode pushDynamicShortcut()
der ShortcutManagerCompat
-Bibliothek eine unbegrenzte Anzahl von dynamischen Verknüpfungen an Assistant senden.
Entwicklungsprojekt konfigurieren
Wenn Sie Ihrer App dynamische Tastenkombinationen hinzufügen möchten, benötigen Sie die Google-Verknüpfungsbibliothek, die eine Android Jetpack-Bibliothek ist. In diesem Abschnitt wird beschrieben, wie Sie Ihr App-Entwicklungsprojekt konfigurieren, um diese Bibliothek einzubeziehen.
So fügen Sie diese Jetpack-Bibliothek hinzu und konfigurieren Ihr Projekt:
Aktualisieren Sie die Datei
gradle.properties
für die Verarbeitung von Jetpack-Bibliotheken:gradle.properties:
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Fügen Sie Ihrem
build.gradle
die Abhängigkeiten der Jetpack-Bibliothek hinzu:app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
Im vorherigen Beispielcode werden zwei Jetpack-Bibliotheken als Abhängigkeiten aufgelistet. Die
androidx.core:core:1.6.0
-Bibliothek enthält dieShortcutManagerCompat
-Klasse, mit der Sie dynamische Verknüpfungen an Google senden.androidx.core:core-google-shortcuts:1.0.1
ist die Integrationsbibliothek von Google. Diese Bibliothek enthält keine entwicklerseitige API. Wenn Sie sie als Abhängigkeit hinzufügen, kann Assistant die dynamischen Tastenkombinationen übernehmen, die Sie mit der KlasseShortcutManagerCompat
übertragen.
Tastenkombinationen für dynamische Push-Benachrichtigungen
Um dynamische Tastenkombinationen zu verwenden, die in Assistant angezeigt werden können, musst du die Verknüpfung zuerst mithilfe der Klasse ShortcutInfoCompat.Builder()
erstellen.
Übernehmen Sie die Verknüpfung dann mit der Methode ShortcutManagerCompat.pushDynamicShortcut()
. Verknüpfungen werden immer dann gesendet, wenn ein Nutzer eine relevante Aktion in Ihrer App ausführt. Mit dem folgenden Beispielcode wird jedes Mal, wenn ein Nutzer eine Bestellung in einer Essenslieferdienst-App aufgibt, eine Verknüpfung erstellt:
BeispielOrderActivity
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);
Die id
, auf die im vorherigen Beispielcode in der Methode ShortcutInfoCompat.Builder
verwiesen wird, definiert die shortcutId
des resultierenden Verknüpfungsobjekts. id
muss ein eindeutiges Stringliteral sein. Weitere Informationen finden Sie in der Dokumentation zu Android-Verknüpfungen.
Im vorherigen Beispiel bindet die Methode addCapabilityBinding
die dynamische Verknüpfung mit einem capability
derselben android:name
, die in shortcuts.xml
definiert ist. Mit dieser Methode können Sie die Verknüpfung mit einem semantischen integrierten Intent-Parameter (BII) verknüpfen.
Dynamische Verknüpfungen werden manchmal ohne bestimmte Verknüpfung mit BII-Parametern übertragen. Wenn Assistant vom Nutzer aufgerufen wird, löst Assistant die in der Verknüpfung definierte intent
aus, um die Aktion auszuführen. Das folgende Beispiel zeigt eine dynamische Verknüpfung 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("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);
Dynamische Tastenkombinationen mit Assistant testen
Wenn Google Assistant eine dynamische Verknüpfung aus deiner App übernimmt, kann diese in der Assistant-App für Android als Vorschlag für Sprachverknüpfungen angezeigt werden. Die Assistant-App schlägt die zuletzt von deiner App gesendeten Verknüpfungen vor.
So testen Sie Ihre dynamischen Tastenkombinationen mit Assistant:
- Erstellen Sie eine Vorschau Ihrer App Actions und bereiten Sie Ihr Testgerät oder Ihren Emulator für Testaktionen vor. Befolgen Sie dabei dieselben Einrichtungsanforderungen wie für das Google Assistant-Plug-in.
- Öffnen Sie die App und legen Sie eine dynamische Tastenkombination fest, die gesendet werden soll. Führen Sie dann eine Aktion aus. Wenn Sie beispielsweise jedes Mal eine Verknüpfung erstellen, wenn eine Notiz in Ihrer Notizen-App erstellt wird, müssen Sie eine neue Notiz erstellen.
- Öffnen Sie auf Ihrem Gerät in der App Assistant-Einstellungen die Option Verknüpfungen. Die dynamische Verknüpfung wird in der Liste für Ihre Anwendung angezeigt.