Le funzionalità di shortcuts.xml
ti consentono di dichiarare i tipi di azioni che gli utenti possono
per avviare l'app ed eseguire direttamente un'attività specifica.
Ad esempio, le Azioni app dell'Assistente Google utilizzano funzionalità per consentire agli sviluppatori
estendere le funzionalità in-app agli intent integrati (BII), consentendo agli utenti di attivare
e controllare queste funzionalità con i comandi vocali. Una funzionalità consiste nel
nome dell'azione e intent
che ha come target la destinazione nell'app che
risolve l'intento dell'utente.
Definisci le funzionalità nel file scorciatoie.xml
Puoi definire elementi capability
in un file di risorse shortcuts.xml
nel tuo
Progetto di sviluppo app per Android. Per definire un elemento capability
, esegui la
seguenti:
- Crea una risorsa
shortcuts.xml
seguendo le istruzioni in Creare scorciatoie statiche. Includi le seguenti informazioni obbligatorie nelle funzionalità:
Nome funzionalità: l'azione che vuoi sia supportata dall'app. Consulta la documentazione del componente per la caratteristica che richiede una funzionalità le tue definizioni. I comandi di Azioni app ad attivazione vocale utilizzano l'intent integrato
Action ID
per i nomi delle funzionalità, che puoi trovare nel riferimento degli intent integrati. Ad esempio: l'intent integratoGET_THING
elenca il suoAction ID
comeactions.intent.GET_THING
.Destinazione app: la destinazione nell'app in cui viene lanciata l'azione. soddisfare la richiesta dell'utente. Definisci le destinazioni delle app utilizzando gli elementi
intent
nidificate all'interno dicapability
.Mappature dei parametri: ogni
intent
può contenere parametri da impostare trasmessi come datiextra
dell'intent. Ad esempio, ogni intent integrato di Azioni app include campi che rappresentano le informazioni fornite spesso dagli utenti nelle query che attivare l'intent integrato.
L'esempio seguente mostra una definizione di capacità in shortcuts.xml
per actions.intent.START_EXERCISE
, un intent integrato che consente agli utenti di usare
comandi 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 <capability>
android:name
si riferisce a
l'intent integrato START_EXERCISE
. Se un utente richiama questo intent integrato chiedendo all'assistente "
Google, avvia un'esecuzione in ExampleApp", l'assistente soddisfa la richiesta dell'utente utilizzando
informazioni fornite nell'elemento intent
nidificato. intent
in questo esempio
definisce i seguenti dettagli:
android:targetPackage
imposta il pacchetto dell'applicazione di destinazione per questa l'intento.- Il campo
android:targetClass
specifica l'attività di destinazione:com.example.sampleApp.ExerciseActivity
. - L'intent
parameter
dichiara il supporto per un parametro dell'intent integratoexercise.name
e come passare il valore del parametro raccolto dall'utente, come dati aggiuntivi inintent
.
Associare scorciatoie a una funzionalità
Dopo aver definito una funzionalità, puoi estenderne la funzionalità associando
o da scorciatoie statiche o dinamiche. Come sono collegate le scorciatoie a capability
dipende dalla funzione che viene implementata e dalle parole effettive incluse nel
su richiesta dell'utente. Ad esempio, quando un utente avvia una corsa nel tuo monitoraggio dell'attività fisica.
app chiedendo all'assistente "Hey Google, inizia una corsa in ExampleApp". Assistente
puoi usare una scorciatoia per avviare un'istanza di un capability
che definisce un
entità di allenamento "corsa" per il parametro exercise.name
.
Per ulteriori informazioni sull'associazione delle scorciatoie ad Azioni app, consulta la sezione App Panoramica delle azioni.