Les raccourcis Android offrent aux utilisateurs pour effectuer une action ou accéder au contenu d'une application. L'Assistant peut suggérer de manière proactive vos raccourcis dynamiques Android aux utilisateurs de aux moments pertinents, ce qui permet aux utilisateurs de découvrir et de revoir facilement des fonctionnalités à commande vocale.
Par exemple, vous pouvez envoyer un raccourci pour chaque note créée par un utilisateur
votre application de prise de notes. Vous créez
les liens dynamiques pouvant s'afficher sur les surfaces Google, comme l'Assistant,
en ajoutant la bibliothèque Jetpack d'intégration des raccourcis Google à votre projet.
Cette bibliothèque permet à l'Assistant d'utiliser les raccourcis dynamiques que vous transmettez à l'aide des
La classe ShortcutManagerCompat
, qui est un wrapper Jetpack pour
API ShortcutManager
.
Lorsque vous utilisez la bibliothèque d'intégration des raccourcis Google dans votre application, les éléments dynamiques
les raccourcis que vous transmettez à Google sont visibles par les utilisateurs en tant que suggestions de raccourcis vocaux
dans l'application Assistant. Vous pouvez envoyer un nombre illimité de raccourcis dynamiques vers
Assistant utilisant la méthode pushDynamicShortcut()
de la
ShortcutManagerCompat
.
Configurer votre projet de développement
Pour ajouter la fonctionnalité de raccourcis dynamiques à votre application, vous devez Bibliothèque d'intégration des raccourcis Google, qui est une bibliothèque Android Jetpack. Cette section explique comment configurer votre projet de développement d'application pour inclure cette bibliothèque.
Pour ajouter cette bibliothèque Jetpack et configurer votre projet, procédez comme suit :
Mettez à jour votre fichier
gradle.properties
pour gérer les bibliothèques Jetpack :gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Ajoutez les dépendances de la bibliothèque Jetpack à votre
build.gradle
:app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
Dans l'exemple de code précédent, vous répertoriez deux bibliothèques Jetpack en tant que dépendances. La bibliothèque
androidx.core:core:1.6.0
contientShortcutManagerCompat
, qui permet d'envoyer des raccourcis dynamiques vers Googleandroidx.core:core-google-shortcuts:1.0.1
est la bibliothèque d'intégration de raccourcis Google. Cette bibliothèque ne contient aucune API destinée aux développeurs. En l'ajoutant en tant que dépendance, vous permettez à l'Assistant de prendre en compte les raccourcis dynamiques que vous transmettez à l'aide de la classeShortcutManagerCompat
.
Transférer des raccourcis dynamiques
Pour envoyer des raccourcis dynamiques qui peuvent s'afficher dans l'Assistant :
créez d'abord le raccourci à l'aide de ShortcutInfoCompat.Builder()
.
.
Vous transmettez ensuite le raccourci à l'aide de la commande
ShortcutManagerCompat.pushDynamicShortcut()
. Les raccourcis sont transmis chaque fois qu'un utilisateur effectue une action pertinente dans votre application. L'exemple de code suivant envoie un raccourci chaque fois qu'un utilisateur crée une liste dans une application de notes et de listes.
Exemple d'appli de livraison
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);
L'élément id
référencé dans la méthode ShortcutInfoCompat.Builder
de l'exemple de code précédent définit l'shortcutId
de l'objet de raccourci obtenu. Ce/Cet/Cette id
doit être un littéral de chaîne unique. Pour en savoir plus, consultez la documentation sur les raccourcis Android.
Dans l'exemple précédent, la méthode addCapabilityBinding
lie le raccourci dynamique à un élément capability
du même élément android:name
défini dans shortcuts.xml
. Cette méthode vous permet d'associer le raccourci
un paramètre sémantique d'intent intégré.
Les raccourcis dynamiques sont parfois transmis sans paramètre d'intent intégré particulier
l'association. Lorsqu'il est appelé par l'utilisateur, l'Assistant déclenche l'action intent
définie dans le raccourci pour exécuter l'action. L'exemple suivant illustre un raccourci dynamique sans association de paramètres :
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);
Tester les raccourcis dynamiques avec l'Assistant
Lorsque l'Assistant Google parvient à intégrer un raccourci dynamique à partir de votre application, le raccourci peut s'afficher en tant que suggestion de raccourci vocal dans Application Android Assistant. L'appli Assistant suggère les raccourcis les plus récents transmises par votre application.
Pour tester vos raccourcis dynamiques avec l'Assistant, procédez comme suit :
- Créez un aperçu des actions dans votre application et préparez votre appareil de test ou votre émulateur à effectuer des actions de test en respectant la configuration requise par le plug-in Assistant Google.
- Ouvrez votre application et définissez un raccourci dynamique à transférer. Effectuez ensuite une action. Par exemple, si vous utilisez un raccourci chaque fois qu'une note est créée dans votre application de prise de notes, créez une note.
- Ouvrez les Raccourcis dans l'application Paramètres de l'Assistant de votre appareil. Votre raccourci dynamique apparaît dans la liste de votre application.