Les raccourcis Android offrent aux utilisateurs des méthodes rapides pour effectuer une action ou accéder à du contenu dans une application. L'Assistant peut suggérer de manière proactive vos raccourcis dynamiques Android aux utilisateurs à des moments pertinents, ce qui leur permet de découvrir et de revoir facilement votre fonctionnalité vocale.
Par exemple, vous pouvez envoyer un raccourci pour chaque note créée par un utilisateur dans votre application de prise de notes. Pour que les liens dynamiques puissent s'afficher sur les surfaces Google, comme l'Assistant, ajoutez 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 de la
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 une fonctionnalité de raccourcis dynamiques à votre application, vous avez besoin de la 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'applications 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 d'ingérer les raccourcis dynamiques que vous déployez à l'aide de la classeShortcutManagerCompat
.
Transférer des raccourcis dynamiques
Pour transférer des raccourcis dynamiques pouvant être affichés dans l'Assistant, vous devez d'abord créer le raccourci à l'aide de la classe ShortcutInfoCompat.Builder()
.
Vous pouvez ensuite transférer le raccourci à l'aide de la méthode 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 d'intent intégré sémantique.
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 ingère un raccourci dynamique à partir de votre application, il peut apparaître sous forme de suggestion de raccourci vocal dans l'application Android Assistant. L'application Assistant suggère les raccourcis les plus récents envoyés par votre application.
Pour tester vos raccourcis dynamiques avec l'Assistant, procédez comme suit :
- Créez un aperçu de vos actions dans les applications et préparez votre appareil de test ou pour tester les actions en suivant la même procédure comme pour le plug-in Assistant Google.
- Ouvrez votre application et définissez un raccourci dynamique à transmettre. 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.