Bonnes pratiques pour les raccourcis
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Lorsque vous concevez et créez les raccourcis de votre application, suivez ces consignes:
-
Respecter les consignes de conception
-
Pour que les raccourcis de votre application soient visuellement cohérents avec ceux utilisés pour les applications système, suivez les consignes de conception des icônes de raccourcis d'application.
-
Ne publier que quatre raccourcis distincts
-
Bien que l'API accepte jusqu'à 15 raccourcis statiques et dynamiques pour votre application, nous vous recommandons de ne publier que quatre raccourcis distincts afin d'améliorer leur apparence visuelle dans le lanceur d'applications.
En plus d'afficher des raccourcis dans le lanceur d'applications, utilisez la bibliothèque d'intégration de raccourcis Google pour afficher des raccourcis sur les surfaces Google telles que l'Assistant Google. Cette bibliothèque permet de transmettre un nombre illimité de raccourcis dynamiques. Si vous utilisez cette bibliothèque pour transférer un grand nombre de raccourcis, nous vous recommandons de définir le rank
des raccourcis qui doivent apparaître dans les lanceurs d'applications compatibles en appelant la méthode setRank()
.
-
Limiter la longueur de la description du raccourci
-
L'espace du menu qui affiche les raccourcis de votre application dans le Lanceur d'applications est limité. Dans la mesure du possible, limitez la longueur de la "description courte" d'un raccourci à 10 caractères et celle de la "description longue" à 25 caractères.
Pour en savoir plus sur les libellés des raccourcis statiques, consultez Personnaliser les valeurs d'attribut.
Pour les raccourcis dynamiques et épinglés, consultez la documentation de référence sur setLongLabel()
et setShortLabel()
.
-
Conserver l'historique d'utilisation des raccourcis et des actions
-
Pour chaque raccourci que vous créez, réfléchissez aux différentes façons dont un utilisateur peut accomplir la même tâche directement dans votre application. Appelez reportShortcutUsed()
dans chacune de ces situations afin que le lanceur d'applications conserve un historique précis de la fréquence à laquelle un utilisateur effectue les actions correspondant à vos raccourcis.
-
Mettre à jour les raccourcis uniquement si leur signification est conservée
-
Lorsque vous modifiez des raccourcis dynamiques et épinglés, n'appelez updateShortcuts()
que lorsque vous modifiez les informations d'un raccourci qui conserve sa signification. Sinon, utilisez l'une des méthodes suivantes, en fonction du type de raccourci que vous recréez:
Par exemple, si vous créez un raccourci pour accéder à un supermarché, il est approprié de le mettre à jour si le nom du supermarché change, mais que son emplacement reste le même. Toutefois, si l'utilisateur commence ses achats dans un autre supermarché, il est préférable de créer un nouveau raccourci.
-
Vérifier les raccourcis dynamiques chaque fois que vous lancez votre application
-
Les raccourcis dynamiques ne sont pas conservés lorsque l'utilisateur restaure ses données sur un nouvel appareil. C'est pourquoi nous vous recommandons de vérifier le nombre d'objets renvoyés par getDynamicShortcuts()
chaque fois que vous lancez votre application et de republier les raccourcis dynamiques si nécessaire, comme indiqué dans l'extrait de code de la section Sauvegarde et restauration.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Best practices for shortcuts\n\nWhen designing and creating your app's shortcuts, follow these guidelines:\n\n\n**Follow the design guidelines**\n\n: To make your app's shortcuts visually consistent with the shortcuts used for system apps, follow\n the\n [App Shortcuts Icon Design Guidelines](/static/shareables/design/app-shortcuts-design-guidelines.pdf).\n\n\n**Publish only four distinct shortcuts**\n\n: Although the API supports a combination of up to 15 static and dynamic shortcuts for your app, we\n recommend that you publish only four distinct shortcuts, to improve their visual appearance in the\n launcher.\n\n In addition to displaying shortcuts on the launcher, use the\n [Google Shortcuts Integration Library](/develop/ui/views/launch/shortcuts/creating-shortcuts#gsi-library)\n to display shortcuts on Google surfaces such as Google Assistant. This library supports pushing an\n unlimited number of dynamic shortcuts. If you are using this library to push a large number of\n shortcuts, we recommend setting the `rank` of the shortcuts that must appear in supported\n launchers by calling the\n [](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setRank(int))`setRank()`\n method.\n\n\n**Limit shortcut description length**\n\n: The space in the menu that shows your app's shortcuts in the launcher is limited. When possible,\n limit the length of the \"short description\" of a shortcut to 10 characters and limit the length of\n the \"long description\" to 25 characters.\n\n For more information about labels for static shortcuts, read\n [Customize attribute values](/guide/topics/ui/shortcuts/creating-shortcuts#attribute-values).\n For dynamic and pinned shortcuts, read the reference documentation on\n [setLongLabel()](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setLongLabel(java.lang.CharSequence))\n and\n [setShortLabel()](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setShortLabel(java.lang.CharSequence)).\n\n\n**Maintain shortcut and action usage history**\n\n: For each shortcut you create, consider the different ways a user can accomplish the same task\n directly within your app. Call\n [reportShortcutUsed()](/reference/androidx/core/content/pm/ShortcutManagerCompat#reportShortcutUsed(android.content.Context,%20java.lang.String))\n in each of these situations so that the launcher maintains an accurate history of how frequently a\n user performs the actions representing your shortcuts.\n\n\n**Update shortcuts only when their meaning is retained**\n\n: When changing dynamic and pinned shortcuts, only call\n [updateShortcuts()](/reference/androidx/core/content/pm/ShortcutManagerCompat#updateShortcuts(android.content.Context,%20java.util.List%3Candroidx.core.content.pm.ShortcutInfoCompat%3E))\n when changing the information of a shortcut that retains its meaning. Otherwise, use one of the\n following methods, depending on the type of shortcut you're recreating:\n\n - Dynamic shortcuts: [pushDynamicShortcut()](/reference/androidx/core/content/pm/ShortcutManagerCompat#pushDynamicShortcut(android.content.Context,%20androidx.core.content.pm.ShortcutInfoCompat)).\n - Pinned shortcuts: [requestPinShortcut()](/reference/androidx/core/content/pm/ShortcutManagerCompat#requestPinShortcut(android.content.Context,%20androidx.core.content.pm.ShortcutInfoCompat,%20android.content.IntentSender)).\n\n For example, if you create a shortcut for navigating to a supermarket, it is appropriate to\n update the shortcut if the name of the supermarket changes but its location stays the same. If the\n user begins shopping at a different supermarket location, however, it's better to create a new\n shortcut.\n\n\n**Check dynamic shortcuts whenever you launch your app**\n\n: Dynamic shortcuts aren't preserved when the user restores their data onto a new device. For this\n reason, we recommend that you check the number of objects returned by\n [getDynamicShortcuts()](/reference/androidx/core/content/pm/ShortcutManagerCompat#getDynamicShortcuts(android.content.Context))\n each time you launch your app and re-publish dynamic shortcuts as needed, as shown in the code\n snippet in\n [Backup and restore](/guide/topics/ui/shortcuts/managing-shortcuts#backup-restore)."]]