Le scorciatoie Android forniscono agli utenti metodi rapidi per eseguire un'azione o accedere ai contenuti di un'app. L'assistente può suggerire in modo proattivo le scorciatoie dinamiche Android agli utenti al momento giusto, consentendo loro di scoprire e riprodurre facilmente le tue funzionalità con comandi vocali.
Ad esempio, puoi eseguire il push di una scorciatoia per ogni nota creata da un utente
la tua app per prendere appunti. Tu fai
link dinamici idonei alla visualizzazione sulle piattaforme Google, come l'assistente,
aggiungendo la libreria Google Shortcuts Integration Jetpack al tuo progetto.
Questa libreria consente all'assistente di acquisire le scorciatoie dinamiche che invii utilizzando
ShortcutManagerCompat
, che è un wrapper Jetpack per il
API ShortcutManager
.
Quando utilizzi la libreria Google Shortcuts Integration nella tua app, le scorciatoie dinamiche che invii a Google sono visibili agli utenti come suggerimenti di scorciatoie vocali nell'app Assistente. Puoi inviare un numero illimitato di scorciatoie dinamiche all'assistente utilizzando il metodo pushDynamicShortcut()
della libreria ShortcutManagerCompat
.
Configura il progetto di sviluppo
Per aggiungere la funzionalità delle scorciatoie dinamiche alla tua app è necessario La libreria Google Shortcuts Integration, ovvero una libreria Android Jetpack, Questa sezione descrive come configurare il progetto di sviluppo dell'app in modo da includere in questa libreria.
Per aggiungere questa libreria Jetpack e configurare il progetto:
Aggiorna il file
gradle.properties
per gestire le librerie Jetpack:gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Aggiungi le dipendenze della libreria Jetpack a
build.gradle
:app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
Nel codice campione precedente, elenca due librerie Jetpack come delle dipendenze. La libreria
androidx.core:core:1.6.0
contiene la classeShortcutManagerCompat
, che utilizzi per inviare le scorciatoie dinamiche a Google.androidx.core:core-google-shortcuts:1.0.1
è la libreria di integrazione di Google Shortcuts. Questa raccolta non contiene contenuti rivolti agli sviluppatori tramite Google Cloud CLI o tramite l'API Compute Engine. Aggiungendola come dipendenza, consenti all'assistente di acquisire scorciatoie dinamiche che invii utilizzando la classeShortcutManagerCompat
.
Invia scorciatoie dinamiche
Per trasferire le scorciatoie dinamiche idonee per la visualizzazione sull'assistente:
devi prima creare la scorciatoia usando l'ShortcutInfoCompat.Builder()
.
Successivamente, premi la scorciatoia utilizzando
ShortcutManagerCompat.pushDynamicShortcut()
. Viene eseguito il push delle scorciatoie
Ogni volta che un utente completa un'azione pertinente nella tua app. L'esempio seguente
esegue il push di una scorciatoia ogni volta che un utente crea un elenco in un'app per note e liste.
AttivitàOrdineEsempio
Kotlin
// Define the dynamic shortcut for an item var intent = Intent(context, DisplayOrderActivity::class.java) intent.action = Intent.ACTION_VIEW var shortcutInfo = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List") ) .setIntent(intent) // Push the shortcut .build() // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
Java
// Define the dynamic shortcut for an item Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List")) .setIntent(intent) .build(); // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Il id
a cui viene fatto riferimento nel metodo ShortcutInfoCompat.Builder
nella precedente
il codice di esempio definisce il shortcutId
dell'oggetto scorciatoia risultante. Questo id
deve essere una stringa letterale univoca. Per maggiori dettagli, consulta la documentazione di Android Shortcuts.
Nell'esempio precedente, il metodo addCapabilityBinding
associa la colonna dinamica
scorciatoia per un capability
dello stesso android:name
definito in
shortcuts.xml
. Questo metodo consente di associare la scorciatoia a un parametro di intent integrato (BII) semantico.
A volte le scorciatoie dinamiche vengono inviate tramite push senza un particolare parametro dell'intent integrato
dell'associazione. Quando viene richiamato dall'utente, l'assistente attiva il criterio intent
definito
nella scorciatoia per compiere l'azione. L'esempio seguente mostra una scorciatoia dinamica senza associazione di parametri:
Kotlin
var intent: Intent = Intent(context, DisplayOrderActivity::class.java) intent.setPackage(this, "com.sample.app") intent.setAction(Intent.ACTION_VIEW) var shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build() ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Java
Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setPackage(this, "com.sample.app"); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build(); ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Testare le scorciatoie dinamiche con l'assistente
Quando l'Assistente Google acquisisce correttamente una scorciatoia dinamica dalla tua applicazione, la scorciatoia è idonea a essere visualizzata come suggerimento di scorciatoia vocale nell'app Assistente per Android. L'app Assistente suggerisce le scorciatoie più recenti inviate dalla tua app.
Per testare le scorciatoie dinamiche con l'assistente, svolgi i seguenti passaggi:
- Crea un'anteprima delle Azioni app e prepara il dispositivo di test o l'emulatore per testare le azioni seguendo gli stessi requisiti di configurazione del plug-in dell'Assistente Google.
- Apri l'app e definisci una scorciatoia dinamica per il push. Quindi completa un'azione. Ad esempio, se premi una scorciatoia ogni volta che nota viene creata nell'app per la creazione di note, quindi crea una nuova nota.
- Apri Scorciatoie nell'app Impostazioni dell'assistente sul tuo dispositivo. La scorciatoia dinamica viene visualizzata nell'elenco dell'app.