Intent integrati per Azioni app

Gli intent integrati consentono alla tua app di esprimere le funzionalità di fulfillment a Google. Se dichiari le funzionalità nel file scorciatoie.xml e mappando i parametri dell'intent al fulfillment, consenti all'Assistente Google di avviare la tua app in una schermata specifica in risposta a una query, in modo che l'utente possa completare un'attività.

Gli intent integrati vengono raggruppati in base alle categorie di app. Ogni categoria rappresenta un insieme di attività comuni che gli utenti spesso vogliono eseguire sulle proprie app. L'elenco completo degli intent integrati disponibili, dei relativi parametri e delle query di esempio utilizzabili per i test si trova nel riferimento per intent integrato.

Molti intent integrati hanno requisiti e suggerimenti specifici per il deployment. Questi requisiti e consigli consentono alla tua app di offrire agli utenti la migliore esperienza possibile.

Figura 1. Richiama l'intent integrato START_EXERCISE con una query vocale all'assistente.
Figura 2. Avvia l'app in una schermata specifica per iniziare l'attività START_EXERCISE.
Figura 3. Visualizzare un widget in risposta a una query.

Implementare gli intent integrati e gestire i parametri di intent

Per le Azioni app, dichiari le funzionalità e gestisci i parametri degli intent integrati nel file scorciatoie.xml. Per implementare un intent integrato e gestirne i parametri, segui questi passaggi:

  1. Dichiara capability con l'intent integrato scelto.
  2. Aggiungi elementi parameter nidificati per ogni campo intent integrato che vuoi aggiungere.
    1. Se utilizzi targetClass o targetPackage, mappali all'intent Android extras utilizzando un nome di tua scelta.
    2. Se utilizzi l'URL di un link diretto, usa i parametri denominati nella stringa di query del modello di URL.

Per gestire un parametro dell'intent integrato, mappa il parametro dell'intent integrato al parametro corrispondente di un intent Android esplicito in capability. Puoi quindi utilizzare il suo valore nell'app. L'app non è tenuta a gestire i parametri degli intent integrati. Tuttavia, prova a gestire i campi di dati contrassegnati come "Consigliato" nel riferimento per intent integrato.

Puoi definire più completamenti di intent, ciascuno con il proprio set di parametri consigliati. Google seleziona il completamento appropriato in base ai parametri di funzionalità che identifica nella query dell'utente e a quelli dichiarati in un intent.

Ad esempio, l'intent actions.intent.START_EXERCISE consiglia che l'app gestisca il parametro dell'intent integrato exercise.name, ma puoi implementare l'intent integrato nell'app senza parametri. Potresti farlo se desideri gestire le query degli utenti senza il nome specifico dell'esercizio, ad esempio "Chiedi all'app Esempio di iniziare il monitoraggio dell'allenamento".

Il seguente snippet ha un fallback a un fulfillment senza parametri obbligatori se i parametri non sono inclusi nella query dell'utente:

<?xml version="1.0" encoding="utf-8"?>
<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:targetClass="com.example.myapplication.Activity1"
            android:targetPackage="com.example.myapplication">
            <parameter
                android:name="exercise.name"
                android:key="exerciseType"
                android:required="true"
                />
        </intent>
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity2">
        </intent>
    </capability>
</shortcuts>

L'Assistente Google fa del suo meglio per fornire le informazioni più pertinenti all'utente quando restituisce i valori dei parametri nell'app. Ad esempio, le query degli utenti per ordinare una pizza dall'app mobile di Esempio non includono sempre una posizione. Per offrire un servizio migliore all'utente, l'assistente potrebbe fornire i valori di latitudine e longitudine del ristorante di esempio più vicino all'app.

Come requisito aggiuntivo, non vuoi che l'app esegua direttamente un'azione che modifica lo stato reale di un utente (ad esempio, trasferimento di denaro, invio di un ordine o invio di un messaggio) senza prima aver confermato l'azione con l'utente.

Disambiguazione

Gli argomenti trasmessi alla tua app tramite <url-parameter> o gli extra per intent potrebbero non identificare in modo univoco l'elemento che vuoi mostrare all'utente. In questo caso, utilizza il valore dell'argomento come argomento di ricerca e indirizza l'utente alla pagina di ricerca dell'app, che può distinguerla e scegliere l'elemento giusto.

Ad esempio, se la query di un utente è "Ordina da Ristorante di esempio" per l'intent integrato ORDER_MENU_ITEM, puoi presentare all'utente un elenco di ristoranti i cui nomi corrispondono al termine "Example Restaurant".

Supporto di lingue e impostazioni internazionali

Le impostazioni internazionali supportate per sviluppo e test da ogni intent integrato di azione app sono elencate nel riferimento per intent integrato. Alcuni intent integrati hanno un supporto locale diverso per i test degli sviluppatori e per l'attivazione degli utenti dall'assistente.