Grazie ai comandi vocali, i conducenti possono svolgere diverse attività senza staccare le mani dal volante e senza staccare gli occhi dalla strada. Con Azioni app per le app per auto, i conducenti possono usare l'Assistente Google per controllare le app Android sul loro sistema di infotainment dicendo, ad esempio, "Hey Google, trova parcheggio in strada su ExampleApp".
La funzionalità Azioni app funziona con le app per auto dei punti di interesse (PDI). Questa guida illustra i requisiti e le limitazioni specifici per l'integrazione di Azioni app nella tua app per PDI.
Come funziona
Le Azioni app estendono la tua funzionalità in-app all'assistente, consentendo agli utenti di
accedere alle funzionalità dell'app tramite comandi vocali. Quando un utente richiama un'azione app,
l'assistente abbina la query a un intent integrato (BII) dichiarato nella risorsa
shortcuts.xml
dell'app e avvia l'app nella schermata richiesta.
Dichiari il supporto delle BI nella tua app utilizzando gli elementi capability
di Android.
Quando carichi la tua app utilizzando Google Play Console, Google registra le funzionalità dichiarate nell'app e le rende disponibili per l'accesso tramite l'assistente da parte degli utenti.
- Un utente attiva l'assistente ed effettua una richiesta vocale per un'app specifica.
- L'assistente associa la richiesta a un modello preaddestrato (BII) ed estrae tutti i parametri supportati da BII.
- In questo esempio, l'assistente abbina la query alla BII
GET_CHARGING_STATION
, estrae il parametro di località "SFO" e traduce la località nelle sue coordinate geografiche. - L'app viene attivata tramite la sua definizione di fulfillment per questo BII.
- L'app elabora la distribuzione, mostrando le opzioni delle stazioni di ricarica nel sistema di infotainment del conducente.
Limitazioni
Le implementazioni auto di Azioni app presentano le seguenti limitazioni:
Le Azioni app auto devono essere eseguite utilizzando i link diretti di Android. Per informazioni sui fulfillment di Azioni app, consulta Fornire i dettagli di fulfillment per gli intent integrati.
Le implementazioni dell'auto supportano solo i seguenti BII:
- Parcheggio -
GET_PARKING_FACILITY
- In carica -
GET_CHARGING_STATION
- Parcheggio -
Requisiti
Per preparare l'app dell'auto per la funzionalità Azioni app, procedi nel seguente modo:
- Soddisfare i requisiti generali per le app per Android per Azioni app.
- Includere la dipendenza dalla libreria delle app per auto. Per maggiori dettagli, consulta Dichiarazione delle dipendenze.
Determina la tua intenzione e il tuo adempimento
Il primo passaggio per attivare i comandi vocali di un'app per auto con Azioni app consiste nel determinare gli intent o i comandi vocali dell'utente supportati dall'app. Puoi quindi definire un fulfillment per ciascun intent per specificare in che modo la tua app deve soddisfare la richiesta.
Quali sono gli intent supportati dalla tua app per la tua auto?
Azioni app fornisce modelli vocali preaddestrati, chiamati intent integrati (BII), in grado di comprendere e interpretare i comandi vocali di un utente quando dice "Hey Google". Per rispondere alle richieste vocali, devi semplicemente dichiarare all'assistente i BII supportati dalla tua app. Ad esempio, se vuoi che la tua app ti aiuti a trovare un parcheggio, devi implementare lo standard BII
GET_PARKING_FACILITY
. In alternativa, puoi implementare lo strumentoGET_CHARGING_STATION
BII per aiutare gli utenti a trovare stazioni di ricarica per auto elettriche.In che modo la tua app dovrebbe soddisfare ogni intento?
L'app soddisfa la richiesta vocale aprendola alla schermata appropriata. Azioni app fornisce al tuo fulfillment parametri estratti dalla richiesta dell'utente, consentendoti di personalizzare la risposta in base alle esigenze dell'utente.
Integra Azioni app
Dopo aver stabilito la tua strategia di distribuzione, segui questi passaggi per attivare le app vocali:
Apri l'attività principale
AndroidManifest.xml
e dichiara il supporto per le scorciatoie Android. Puoi usare gli elementi scorciatoiacapability
per dichiarare all'assistente le BII supportate dalla tua app. Per maggiori informazioni, consulta Aggiungere funzionalità.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Aggiungi un elemento
<intent-filter>
aAndroidManifest.xml
. In questo modo l'assistente può usare i link diretti per connettersi ai contenuti della tua app.Per Android Auto, l'elemento
<intent-filter>
è uguale a quello dell'app mobile.Sul sistema operativo Android Automotive, la sessione
CarAppService
dell'app attiva l'assistente. Per consentire a una sessione di attivare il link diretto, specifica un<intent-filter>
nell'elemento<activity>
diAndroidManifest.xml
.
<!-- AndroidManifest.xml --> <activity ... android:name="androidx.car.app.activity.CarAppActivity"> ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="YOUR_SCHEME" android:host="YOUR_HOST" /> </intent-filter> </activity>
Se non hai ancora un file
shortcuts.xml
nella directoryres/xml
della tua app, creane una nuova. Per informazioni su come Azioni app utilizza le scorciatoie Android, consulta Crea scorciatoie.xml.In
shortcuts.xml
, implementa uncapability
per lo BII scelto. Quindi, aggiungi un elemento<intent>
nidificato per definire il fulfillment dell'app.<!-- shortcuts.xml --> <?xml version="1.0" encoding="utf-8"?> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.GET_PARKING_FACILITY"> <intent> <url-template android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}"> <!-- Facility name, e.g. "Googleplex" --> <parameter android:name="parkingFacility.name" android:key="name"/> <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" --> <parameter android:name="parkingFacility.address" android:key="address"/> <!-- Disambiguate the type of service, e.g. "valet" --> <parameter android:name="parkingFacility.disambiguatingDescription" android:key="disambiguatingDescription"/> <!-- Latitude, e.g. "37.3861" --> <parameter android:name="parkingFacility.geo.latitude" android:key="latitude"/> <!-- Longitude, e.g. "-122.084" --> <parameter android:name="parkingFacility.geo.longitude" android:key="longitude"/> </intent> </capability> </shortcuts>
Infine, aggiorna la logica
Session()
dell'app dell'auto per gestire il fulfillment di Azioni app in arrivo. I seguenti esempi mostrano la gestione degli intent perSession.onCreateScreen()
eSession.onNewIntent()
.onCreateScreen()
Kotlin
@Override fun onCreateScreen(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
Java
@Override public Screen onCreateScreen(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
onNewIntent()
Kotlin
@Override fun onNewIntent(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
Java
@Override public void onNewIntent(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
Visualizzare l'anteprima, testare e pubblicare l'app
La funzionalità Azioni app fornisce strumenti per visualizzare in anteprima e testare la tua app. Visita la panoramica di Azioni app per avere informazioni su questi strumenti e per informazioni dettagliate su come pubblicare l'app per auto per auto con attivazione vocale sul Play Store.