Práticas recomendadas para atalhos
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Ao projetar e criar os atalhos do seu app, siga estas diretrizes:
-
Seguir as diretrizes de design
-
Para tornar os atalhos do seu app visualmente consistentes com os atalhos usados nos apps do sistema, siga
as
Diretrizes de design do ícone para atalhos de apps.
-
Publicar apenas quatro atalhos diferentes
-
Embora a API ofereça suporte a uma combinação de até 15 atalhos estáticos e dinâmicos para o app,
recomendamos que você publique apenas quatro atalhos diferentes para melhorar a aparência na
tela de início.
Além de exibir atalhos na tela de início, use a
Biblioteca de integração Google Shortcuts
para exibir atalhos nas plataformas do Google, como o Google Assistente. Essa biblioteca oferece suporte ao envio de um
número ilimitado de atalhos dinâmicos. Se você está usando essa biblioteca para enviar um grande número de
atalhos, recomendamos definir o rank
dos atalhos que precisam aparecer em telas de início
compatíveis chamando o
método
setRank()
.
-
Limitar o tamanho da descrição do atalho
-
O espaço do menu para mostrar os atalhos do app na tela de início é limitado. Quando possível,
limite o tamanho da "descrição curta" de um atalho a 10 caracteres e o tamanho da "descrição longa" a 25 caracteres.
Para mais informações sobre rótulos de atalhos estáticos, leia
Personalizar valores de atributo.
Para atalhos dinâmicos e fixados, leia a documentação de referência sobre
setLongLabel()
e
setShortLabel()
.
-
Manter o histórico de uso de atalhos e ações
-
Para cada atalho criado, considere as diferentes maneiras como um usuário pode realizar a mesma tarefa
diretamente no seu app. Chame
reportShortcutUsed()
em cada uma dessas situações para que a tela de início mantenha um histórico preciso com que frequência um
usuário realiza as ações que representam seus atalhos.
-
Atualizar atalhos apenas quando o significado deles for retido
-
Ao mudar atalhos dinâmicos e fixados, chame
updateShortcuts()
apenas ao mudar as informações de um atalho que retém o significado. Caso contrário, use um dos
métodos a seguir, dependendo do tipo de atalho que você está recriando:
Por exemplo, se você criar um atalho para navegar até um supermercado, convém
atualizar o atalho se o nome do supermercado mudar, mas o local dele permanecer o mesmo. No entanto, se o
usuário começar a fazer compras em um supermercado diferente, é melhor criar um novo
atalho.
-
Verificar os atalhos dinâmicos sempre que o app for iniciado
-
Os atalhos dinâmicos não são preservados quando o usuário restaura os dados em um novo dispositivo. Por isso, recomendamos que você verifique o número de objetos retornados por
getDynamicShortcuts()
sempre que iniciar o app e publique os atalhos dinâmicos novamente conforme necessário, conforme mostrado no snippet de
código em
Backup e restauração.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]