Le funzionalità di shortcuts.xml
ti consentono di dichiarare i tipi di azioni che gli utenti possono eseguire per avviare l'app ed eseguire direttamente un'attività specifica.
Ad esempio, le funzionalità Azioni app dell'Assistente Google consentono agli sviluppatori
di estendere le funzionalità in-app agli intent integrati (BII), in modo che gli utenti attivino
e controllino queste funzionalità tramite comandi vocali. Una funzionalità è composta 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à nel file shortcuts.xml
Definisci gli elementi capability
in un file di risorse shortcuts.xml
nel tuo
progetto di sviluppo di app Android. Per definire un elemento capability
:
- Crea una risorsa
shortcuts.xml
seguendo le istruzioni in Creare scorciatoie statiche. Includi le seguenti informazioni richieste nelle tue funzionalità:
Nome funzionalità:l'azione che vuoi sia supportata dall'app. Fai riferimento alla documentazione del componente per la funzionalità che richiede definizioni delle funzionalità. I comandi vocali di Azioni app utilizzano il codice BII
Action ID
per i nomi delle funzionalità, disponibile nel riferimento BII. Ad esempio, il BII diGET_THING
elencaAction ID
comeactions.intent.GET_THING
.Destinazione app: la destinazione nell'app avviata dall'azione per soddisfare la richiesta dell'utente. Definisci le destinazioni delle app utilizzando elementi
intent
nidificati all'interno dicapability
.Mappature dei parametri: ogni
intent
potrebbe contenere parametri da passare come datiextra
dell'intent. Ad esempio, ogni BII di Azioni app include campi che rappresentano le informazioni spesso fornite dagli utenti nelle query che attivano lo strumento BII.
L'esempio seguente mostra una definizione delle funzionalità in shortcuts.xml
per actions.intent.START_EXERCISE
, un BII che consente agli utenti di utilizzare i comandi vocali con l'assistente per iniziare un esercizio in un'app per l'attività fisica:
<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 android:name
<capability>
fa riferimento
a START_EXERCISE
BII. Se un utente richiama questo BII chiedendo all'assistente "Hey Google, avvia un'esecuzione 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 di un parametro BIIexercise.name
e spiega come passare il valore del parametro, raccolto dall'utente, come dati aggiuntivi inintent
.
Associare le scorciatoie a una funzionalità
Dopo aver definito una funzionalità, puoi estenderne la funzionalità associandole
scorciatoie statiche o dinamiche. Il modo in cui le scorciatoie vengono 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 nell'app di monitoraggio
dell'attività fisica chiedendo all'assistente "Hey Google, avvia una corsa in ExampleApp". L'assistente
può utilizzare una scorciatoia per avviare un'istanza di capability
che definisce un'entità di allenamento valida
"run" per il parametro exercise.name
.
Per ulteriori informazioni sull'associazione di scorciatoie ad Azioni app, vedi Panoramica delle Azioni app.