Aggiungi funzionalità alle scorciatoie
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Le funzionalità in shortcuts.xml
ti consentono di dichiarare i tipi di azioni che gli utenti possono
intraprendere per avviare la tua app ed eseguire direttamente un'attività specifica.
Ad esempio, le Azioni app dell'Assistente Google utilizzano le funzionalità per consentire agli sviluppatori
di estendere le funzionalità in-app agli intent integrati, consentendo agli utenti di attivare
e controllare queste funzionalità utilizzando i comandi vocali. Una funzionalità è costituita dal
nome dell'azione e da un intent
che ha come target la destinazione nella tua app che
risolve l'intent dell'utente.
Definisci le funzionalità in shortcuts.xml
Definisci gli elementi capability
in un file di risorse shortcuts.xml
nel tuo
progetto di sviluppo di app per Android. Per definire un elemento capability
:
- Crea una risorsa
shortcuts.xml
seguendo le istruzioni riportate in Creare
scorciatoie statiche.
Includi le seguenti informazioni obbligatorie nella tua funzionalità:
Nome funzionalità:l'azione che vuoi che la tua app supporti. Consulta la documentazione del componente per la funzionalità che richiede definizioni delle funzionalità. I comandi vocali delle Azioni app utilizzano l'intent integrato Action ID
per i nomi delle funzionalità, che puoi trovare nel riferimento degli intent integrati. Ad esempio, l'intent integrato GET_THING
elenca il suo Action ID
come actions.intent.GET_THING
.
Destinazione app:la destinazione nella tua app in cui viene avviata l'azione per
soddisfare la richiesta dell'utente. Definisci le destinazioni dell'app utilizzando gli elementi intent
nidificati all'interno di capability
.
Mappature dei parametri:ogni intent
potrebbe contenere parametri da
trasmettere come dati extra
dell'intent. Ad esempio, ogni intent integrato di Azioni app
include campi che rappresentano le informazioni che gli utenti forniscono spesso nelle query che
attivano l'intent integrato.
L'esempio seguente mostra una definizione di funzionalità in shortcuts.xml
per actions.intent.START_EXERCISE
, un intent integrato che consente agli utenti di utilizzare comandi vocali
con l'assistente per iniziare un allenamento in un'app per il fitness:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
Nell'esempio precedente, l'attributo <capability>
android:name
si riferisce
all'intent integrato START_EXERCISE
. Se un utente richiama questo intent integrato chiedendo all'assistente "Hey Google, inizia una corsa in ExampleApp", l'assistente soddisfa la richiesta dell'utente utilizzando le informazioni fornite nell'elemento intent
nidificato. intent
in questo esempio
definisce i seguenti dettagli:
android:targetPackage
imposta il pacchetto dell'applicazione di destinazione per questo intent.
- Il campo
android:targetClass
specifica l'attività di destinazione:
com.example.sampleApp.ExerciseActivity
.
- L'intent
parameter
dichiara il supporto per un parametro BII
exercise.name
e come passare il valore del parametro, raccolto
dall'utente, come dati aggiuntivi in intent
.
Associare scorciatoie a una funzionalità
Una volta definita una funzionalità, puoi estenderne la funzionalità associandovi scorciatoie statiche o dinamiche. Il modo in cui le scorciatoie sono collegate a un capability
dipende dalla funzionalità implementata e dalle parole effettive incluse nella
richiesta di un utente. Ad esempio, quando un utente inizia una corsa nella tua app di monitoraggio dell'attività fisica chiedendo all'assistente: "Hey Google, inizia una corsa in ExampleApp". L'assistente
può utilizzare una scorciatoia per avviare un'istanza di un capability
che definisce un'entità di esercizio valida di "corsa" per il parametro exercise.name
.
Per ulteriori informazioni sull'associazione di scorciatoie alle Azioni app, consulta la panoramica delle Azioni
app.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-21 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-21 UTC."],[],[],null,["# Add capabilities to shortcuts\n\nCapabilities in `shortcuts.xml` let you declare the types of actions users can\ntake to launch your app and directly perform a specific task.\n\nFor example, Google Assistant App Actions use capabilities to let developers\nextend in-app features to [built-in intents](//developers.google.com/assistant/app/intents) (BIIs), letting users activate\nand control those features using spoken commands. A capability consists of the\nname of the action and an `intent` targeting the destination in your app that\nresolves the user intent.\n\nDefine capabilities in shortcuts.xml\n------------------------------------\n\nYou define `capability` elements in a `shortcuts.xml` resource file in your\nAndroid app development project. To define a `capability` element, do the\nfollowing:\n\n1. Create a `shortcuts.xml` resource by following the instructions in [Create\n static shortcuts](//develop/ui/views/launch/shortcuts/creating-shortcuts#static).\n2. Include the following required information in your capability:\n\n - **Capability name:** the action you want your app to support. Refer to\n the component documentation for the feature that requires capability\n definitions. App Actions voice-enabled commands use the BII `Action ID`\n for capability names, which you can find in [BII reference](//developers.google.com/assistant/app/reference/built-in-intents). For example,\n the [`GET_THING`](//developers.google.com/assistant/app/reference/built-in-intents/common/get-thing) BII lists its `Action ID` as `actions.intent.GET_THING`.\n\n - **App destination:** the destination in your app the action launches to\n fulfill the user request. Define app destinations using `intent` elements\n nested within the `capability`.\n\n - **Parameter mappings:** each `intent` might contain parameters to be\n passed as `extra` data of the intent. For example, each App Actions BII\n includes fields representing information users often provide in queries that\n trigger the BII.\n\nThe following example demonstrates a capability definition in `shortcuts.xml`\nfor [`actions.intent.START_EXERCISE`](//developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise), a BII that lets users use spoken\ncommands with Assistant to begin a workout in a fitness app: \n\n \u003cshortcuts xmlns:android=\"http://schemas.android.com/apk/res/android\"\u003e\n \u003ccapability android:name=\"actions.intent.START_EXERCISE\"\u003e\n \u003cintent\n android:action=\"android.intent.action.VIEW\"\n android:targetPackage=\"com.example.sampleApp\"\n android:targetClass=\"com.example.sampleApp.ExerciseActivity\"\u003e\n \u003cparameter\n android:name=\"exercise.name\"\n android:key=\"exerciseType\"/\u003e\n \u003c/intent\u003e\n \u003c/capability\u003e\n \u003c/shortcuts\u003e\n\nIn the preceding example, the `\u003ccapability\u003e` `android:name` attribute refers to\nthe `START_EXERCISE` BII. If a user invokes this BII by asking Assistant, *\"Hey\nGoogle, start a run in ExampleApp,\"* Assistant fulfills the user request using\ninformation provided in the nested `intent` element. The `intent` in this sample\ndefines the following details:\n\n- The `android:targetPackage` sets the target application package for this intent.\n- The `android:targetClass` field specifies the destination activity: `com.example.sampleApp.ExerciseActivity`.\n- The intent `parameter` declares support for a BII parameter [`exercise.name`](//developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise#recommended-fields) and how to pass the parameter value---collected from the user---as extra data in the `intent`.\n\nAssociate shortcuts with a capability\n-------------------------------------\n\nOnce you define a capability, you can extend its functionality by associating\nstatic or dynamic shortcuts with it. How shortcuts are linked to a `capability`\ndepends on the feature being implemented and the actual words included in a\nuser's request. For example, when a user begins a run in your fitness tracking\napp by asking Assistant, *\"Hey Google, start a run in ExampleApp.\"* Assistant\ncan use a shortcut to launch an instance of a `capability` that defines a valid\nexercise entity of \"run\" for the `exercise.name` parameter.\n\nFor more information about associating shortcuts to App Actions, see [App\nActions overview](//developers.google.com/assistant/app)."]]