Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK

Suggerimento veloce: Come usare le API di Assist per Android

Difficulty:BeginnerLength:ShortLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Gli utenti di Android oggi non hanno più bisogno di aprire un browser ed eseguire una ricerca per imparare le cose in cui si imbattono durante l'utilizzo di un'applicazione. Possono invece usare un assistente. Se disponi di un dispositivo che esegue Android 6.0 o successivo, dovresti essere già familiare con il suo assistente predefinito, in cui era inizialmente chiamato Google Now al tocco. Ultimamente, il suo nome è stato modificato in ricerca su schermo.

Gli assistenti, anche se sono sensibili al contesto, non sono molto accurati di solito. Per migliorare la precisione, gli sviluppatori delle applicazioni devono usare le API di Assist. In questo breve suggerimento, ti introdurrò le basi delle API e, ti aiuterò ad iniziare a creare il tuo personale assistente.

1. Abilitare l'assistente predefinito

Se non hai mai usato l'assistente sul tuo dispositivo o emulatore, è probabile che non è stato ancora abilitato. Per abilitarlo, premi e mantieni premuto il bottone Home. Nella finestra di dialogo che si apre, premi il bottone Sì, ci sono.

Enabling Google screen search

Ora sarai in grado di accedere all'assistente predefinito da qualsiasi applicazione semplicemente tenendo premuto a lungo il bottone home. Vale la pena notare che l'assistente predefinito è una parte dell'applicazione Google e, funziona meglio dopo aver effettuato l'accesso con il tuo account Google.

2. Inviare informazioni all'assistente

L'assistente predefinito è molto potente. Può fornire automaticamente informazioni sensitive al contesto basato sui contenuti presenti sullo schermo. Lo fa quindi analizzando la gerarchia di visualizzazione dell'attività attiva.

Per vederlo in azione, crea una nuova attività nel tuo progetto Android Studio e aggiungi il seguente widget TextView, in cui ha il nome di un romanzo popolare, al suo layout:

Se esegui la tua applicazione e tieni premuto a lungo il bottone home, l'assistente predefinito ti mostrerà delle carte che sono un po' collegate al contenuto del widget TextView.

Cards displayed by the assistant

Inviando informazioni aggiuntive all'assistente, potrai migliorare la sua precisione. Per fare questo, devi prima sovrascrivere il metodo onProvideAssistContent() della tua classe Activity.

Puoi ora usare l'oggetto AssistContent per inviare le informazioni all'assistente. Per esempio, se vuoi che l'assistente mostri una carta che permette all'utente di leggere il romanzo su Goodreads, puoi usare il metodo setWebUri().

Ecco come la nuova carta andrà ad essere:

Card for Goodreads

Le Assist API ti permettono di passare dei dati strutturati all'assistente usando il metodo setStructuredData() in cui si aspetta una stringa JSON-LD. Il modo più semplice per generare una stringa JSON-LD è usare la classe JSONObject e il suo metodo put().

Il seguente codice di esempio ti mostra come generare e inviare dei dati strutturati per quanto riguarda il romanzo:

Se scegli di scrivere a mano la tua stringa JSON-LD, ti consiglio di assicurarti che sia valida usando lo strumento di test dei dati strutturati di Google.

Validating JSON-LD with Structured Data Testing Tool

3. Creare un assistente personalizzato

Se non sei soddisfatto su come l'assistente dell'applicazione Google gestisce i tuoi dati, dovresti considerare di creare un tuo assistente. Farlo non ci vuole molto sforzo.

Tutti gli assistenti personalizzati devono avere quanto segue:

  • Un oggetto VoiceInteractionService
  • Un oggetto VoiceInteractionSession
  • Un oggetto VoiceInteractionSessionService
  • Un file di metadati XML che descrive l'assistente personalizzato

Per prima cosa, crea una nuova classe chiamata MyAssistantSession e rendilo una sottoclasse della classe VoiceInteractionSession. A questo punto, Android Studio dovrebbe generare automaticamente un costruttore per lui.

Sovrascrivendo il metodo onHandleAssist() della classe, potrai definire il comportamento del tuo assistente. Per adesso, assicuriamoci soltanto che analizzerà la stringa JSON-LD che abbiamo generato nel passaggio precedente e che mostrerà il suo contenuto in un messaggio Toast. Come avrai pensato, per recuperare la stringa JSON-LD, devi usare il metodo getStructuredData() dell'oggetto AssistContent.

Il seguente codice ti mostra come mostrare il valore della chiave descrizione della stringa JSON-LD come messaggio Toast.

L'oggetto VoiceInteractionSession deve essere istanziato all'interno dell'oggetto VoiceInteractionSessionService. Di conseguenza, crea una nuova classe Java chiamata MyAssistantSessionService e rendilo una sottoclasse di VoiceInteractionSessionService. All'interno del suo metodo onNewSession(), chiama il costruttore di MyAssistantSession.

Il nostro assistente ha anche bisogno un oggetto VoiceInteractionService. Di conseguenza, creane uno chiamato MyAssistantService. Non devi scrivere alcun codice all'interno.

Per specificare i dettagli della configurazione dell'assistente, devi creare un file XML di metadati e posizionarlo nella cartella res/xml del tuo progetto. L'elemento radice del file deve essere il tag <voice-interaction-service> specificando i nomi completi qualificati di entrambe le sottoclassi VoiceInteractionService e VoiceInteractionSessionService.

Questo è un esempio di un file di metadati:

Infine, mentre dichiari i servizi nel file AndroidManifest.xml nel tuo progetto, assicurati che richiedono l'autorizzazione per il permesso BIND_VOICE_INTERACTION.

Il tuo assistente personalizzato è ora pronto.

4. Usare l'assistente personalizzato

Per essere in grado di usare il tuo assistente personalizzato, devi impostarlo come assistente predefinito nel tuo dispositivo Android. Di conseguenza, apri l'applicazione Impostazioni e naviga su Applicazioni > Applicazioni predefinite > Assistenza e input vocale. Poi, fai clic sull'opzione Applicazione di assistenza per selezionare il tuo assistente.

Choosing a custom assistant

A questo punto, se esegui la tua applicazione e tieni premuto a lungo il bottone home, dovrai essere in grado di vedere il messaggio Toast del tuo assistente personalizzato.

Toast from custom assistant

Conclusione

In questo breve suggerimento, hai imparato come usare le API di Assist per interagire con gli assistenti sulla piattaforma Android. Hai anche imparato come creare un assistente personalizzato rudimentale. Ma una parola di cautela: visto che gli assistenti possono leggere quasi tutto il testo che è presente sullo schermo di un utente, devi assicurarti che il tuo assistente personalizzato gestire i dati sensibili in modo sicuro.

Per imparare di più sulle API Assist, fai riferimento alla sua documentazione ufficiale. E per saperne di più sulla programmazione all'avanguardia e per le API per la piattaforma Android, scopri alcuni dei nostri altri corsi e tutorial qui su Envato Tuts+!


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.