Azioni app build

Le Azioni app consentono agli utenti di avviare funzionalità nella tua app per Android chiedendo all'Assistente Google o usando le scorciatoie Android suggerite dall'assistente. Di seguito sono riportati i passaggi principali per estendere la tua app per Android con Azioni app:

  1. Identifica la funzionalità in-app da attivare e il relativo intent integrato corrispondente.
  2. Fornisci i dettagli di completamento per l'intent integrato.
  3. Trasferisci le scorciatoie per la tua Azione app all'assistente.
  4. Visualizza l'anteprima delle Azioni app su un dispositivo di test.
  5. Crea una release di test della tua app.
  6. Richiedi la revisione e il deployment delle Azioni app.

Se vuoi, puoi definire scorciatoie dinamiche da fornire all'assistente in modo che possa suggerirle agli utenti. Crea un'Azione app con un'app di esempio seguendo il codelab sulle Azioni app.

Requisiti

Prima di iniziare a sviluppare Azioni app, assicurati che tu e la tua app soddisfiate i seguenti requisiti:

  • Devi avere un Account Google con accesso a Google Play Console.
  • L'app deve essere pubblicata in Google Play Store, perché le Azioni app sono disponibili solo per le app pubblicate su Google Play Store. Assicurati inoltre che l'app non sia destinata a essere utilizzata in un profilo di lavoro, poiché le azioni app non sono supportate dalla versione gestita di Google Play.
  • È necessario un dispositivo fisico o virtuale su cui testare le Azioni app.
  • Devi avere l'ultima versione di Android Studio.
  • Devi usare lo stesso Account Google per accedere ad Android Studio, all'app Google sul dispositivo di test e a Google Play Console.
  • Devi configurare l'assistente sul tuo dispositivo di test e testarlo toccando e tenendo premuto sul pulsante Home.

Abbinare gli intent integrati alle funzionalità dell'app

Identifica la funzionalità della tua app per Android a cui gli utenti potrebbero voler passare con una richiesta vocale ed esamina il riferimento dell'intent integrato per trovare gli intent integrati appropriati per i tuoi casi d'uso. Gli intent integrati eseguono query degli utenti per le attività che vogliono eseguire, quindi cerca quelli che corrispondono ai flussi di funzionalità chiave e ai flussi utente nella tua app.

Esistono BII comuni che quasi tutte le app per Android possono utilizzare, ad esempio l'estensione della ricerca in-app all'assistente tramite la tecnologia BII di actions.intent.GET_THING o la possibilità per gli utenti di lanciare funzionalità specifiche dell'app con la voce implementando la BII di actions.intent.OPEN_APP_FEATURE.

Esistono anche intent integrati che abilitano casi d'uso di tipo verticale o specifici per categoria. Ad esempio, un'app per l'ordinazione di cibo potrebbe utilizzare l'intent integrato actions.intent.ORDER_MENU_ITEM.

Per garantire un'esperienza utente ottimale ed evitare possibili ritardi nelle approvazioni, assicurati che ogni intent integrato implementato sia pertinente alla funzionalità in-app.

Le Azioni app avviano gli intent Android dall'app dell'assistente per indirizzare gli utenti direttamente a contenuti specifici della tua app. Puoi definire gli intent per avviare un'attività in modo esplicito specificando i campi targetClass e targetPackage. Se la tua app implementa già gli URL dei link diretti Android, puoi configurare l'intent in modo da utilizzare un link diretto per il completamento. Per maggiori dettagli, consulta la sezione Testare i link diretti della tua attività.

Fornire i dettagli di completamento per gli intent integrati

La maggior parte della creazione di un'Azione app consiste nel dichiarare una funzionalità nel file di risorse shortcuts.xml dell'app per Android, in cui specifichi l'intent integrato selezionato e il relativo completamento. Un intent integrato modella la query dell'utente per un'attività e un intent di completamento fornisce all'assistente informazioni su come eseguire l'attività.

Nel file shortcuts.xml, gli intent di completamento sono rappresentati come elementi <capability> e ogni completamento è rappresentato come un elemento <intent>:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

Per la maggior parte degli intent integrati, i parametri di intent vengono estratti dalla query dell'utente in base alle entità schema.org. L'app utilizza quindi i parametri BII per indirizzare gli utenti alla funzionalità selezionata. Ad esempio, il codice precedente mappa il parametro BII menuItem.name al parametro queryAndroid intent.

Se completi azioni utilizzando i link diretti, utilizza il campo urlTemplate per definire l'URL dei link diretti generati dall'assistente:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

Per dettagli importanti sull'aggiunta di Azioni app al file shortcuts.xml, fai riferimento a Creare shortcuts.xml. La pagina descrive anche come specificare i valori parametro previsti dalla tua app.

Implementare l'intent integrato GET_THING

Se l'app ha una funzione di ricerca, devi implementare l'intent integrato actions.intent.GET_THING per quella funzionalità. L'assistente potrà quindi inoltrare gli utenti alla funzione di ricerca della tua app per i risultati in-app quando effettuano query come "Hey Google, cerca Esempio nell'app Esempio".

Nel file shortcuts.xml, implementa <capability> per l'intent integrato actions.intent.GET_THING mentre implementi qualsiasi altro intent integrato. Puoi utilizzare più completamenti per GET_THING, purché tu ne fornisca almeno uno che trasmette la query dell'utente alla funzione di ricerca dell'app.

Ecco un esempio di aggiunta dell'intent integrato actions.intent.GET_THING in shortcuts.xml:

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

Nella ricerca Activity, estrai la query di ricerca dai dati aggiuntivi di intent e trasmettila alla funzione di ricerca della tua app. Nel codice precedente, la query di ricerca, passata come chiave query, viene mappata al parametro dell'intent integrato "thing.name". Poi, esegui una ricerca con la query e visualizza i risultati nell'interfaccia utente.

(Facoltativo) Trasferire le scorciatoie per la tua Azione app all'assistente

Dopo aver definito una funzionalità per l'azione, gli utenti possono avviare l'azione dicendo ad esempio "Hey Google, ordina una pizza sull'app Esempio". L'assistente può suggerire scorciatoie Android per le tue azioni agli utenti al momento giusto, consentendo loro di scoprire e riprodurre le tue azioni. L'assistente può suggerire scorciatoie sia dinamiche sia statiche.

Per trasferire le scorciatoie dinamiche all'assistente, utilizza la libreria Google Shortcuts Integration. Questa libreria Jetpack consente all'assistente di acquisire le tue scorciatoie e suggerirle agli utenti al momento opportuno.

Per maggiori dettagli, vedi Trasferire le scorciatoie dinamiche all'assistente.

Visualizzare l'anteprima delle Azioni app

Durante lo sviluppo e i test, utilizza il plug-in dell'Assistente Google per Android Studio per verificare che le Azioni app funzionino per la tua app. Il plug-in crea un'anteprima delle azioni app nell'assistente per il tuo Account Google. Utilizzando lo strumento di test, puoi testare i tuoi completamenti su un emulatore o un dispositivo di test fisico fornendo agli intent integrati i parametri di input che ti aspetti di ricevere dagli utenti.

Mentre visualizzi l'anteprima delle Azioni app, puoi attivare le query tramite comandi vocali sul dispositivo. Questa funzionalità è disponibile solo per le query elencate nel riferimento degli intent integrati per le Azioni app. Utilizza l'attivazione vocale solo a scopo dimostrativo, non per test regolari.

Testa la tua app in modalità bozza utilizzando gli strumenti per sviluppatori di Google Play Console prima di inviarla per la revisione. Per ulteriori informazioni sull'utilizzo di Google Play Console per il deployment di una bozza dell'app, consulta l'articolo Preparare e lanciare una release.

Creare una release di test

Quando è tutto pronto per testare le Azioni app con altri tester, crea una release di test interno o chiuso dell'app. Per impostazione predefinita, i tester delle release dei test interni e chiusi possono accedere ad Azioni app che sono già state esaminate e approvate.

Per concedere l'accesso ai test per tutte le Azioni app, incluse quelle non approvate, chiedi ai tester di partecipare al gruppo Google App Actions Development Program. I membri di questo gruppo hanno accesso a tutte le azioni app nelle release di test chiuse e interne senza dover creare anteprime con lo strumento di test delle azioni app. Potrebbero essere necessarie fino a 3 ore dall'iscrizione al gruppo prima che l'accesso diventi disponibile.

Richiedere la revisione e il deployment delle Azioni app

Le Azioni app non sono disponibili per gli utenti delle app pubblicate o di release di test aperto finché non vengono esaminate e approvate. La revisione di Azioni app non influisce sullo stato di revisione e deployment della tua app per Android in Google Play. Anche se l'app inviata viene approvata e pubblicata sul Play Store, l'app shortcuts.xml potrebbe essere in corso di revisione da parte di Google. Le Azioni app non funzionano per gli utenti finali finché non viene approvata anche la revisione.

Quando esegui il deployment dell'app, le Azioni app rimangono attive. Tuttavia, le versioni di cui è stato eseguito nuovamente il deployment sono soggette a revisione da parte di Google. Se la nuova versione non funziona correttamente o contiene violazioni delle norme, Google si riserva il diritto di disattivare le Azioni app per la tua app.

Per inviare le Azioni app per la revisione, procedi nel seguente modo:

  1. Accetta i termini di servizio di Azioni app in Google Play Console (Impostazioni avanzate > Azioni app):

    Termini di servizio di Azioni app in Google Play Console.

  2. Carica la tua app, contenente shortcuts.xml, in Google Play Console come di consueto per la pubblicazione.

  3. Dopo aver caricato la tua app in Play Console, Google ti contatta all'indirizzo email del tuo account Play Console per fornirti ulteriori informazioni sullo stato della revisione delle Azioni app. Puoi anche contattare l'assistenza per gli sviluppatori dell'assistente per domande relative allo stato di revisione di Azioni app. Nel modulo di contatto, fornisci l'ID pacchetto dell'app e scegli Revisione Azioni app nella casella di selezione Come possiamo aiutarti?.

Per utilizzare un link diretto per avviare Activity con un'Azione app il valore Activity deve essere configurato con URL di link diretto e avere un filtro per intent corrispondente nel file manifest dell'app per Android.

Per verificare che le attività siano accessibili e possano essere attivate utilizzando le Azioni app mediante link diretti, esegui questo comando adb:

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

Ecco alcuni esempi:

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

Se l'attività non viene avviata correttamente con il comando adb, verifica quanto segue:

  • Nel file manifest dell'app, l'attività ha android:exported=true, quindi può essere avviata utilizzando gli intent dell'Assistente Google.
  • Se utilizzi gli URL dei link alle app, segui tutti i passaggi descritti in Gestire Link per app Android.

Norme relative alle Azioni app

Le Azioni app devono rispettare norme specifiche per garantire che gli utenti che le attivano ricevano l'esperienza prevista. Leggi queste norme prima di inviare le tue app per offrire la migliore esperienza utente ed evitare ritardi o rifiuti nella revisione del Play Store.

  • Indirizzare gli utenti a contenuti pensati per loro

    Gli intent integrati e/o i parametri delle Azioni app devono indirizzare gli utenti solo all'azione pertinente e pensata per loro. Questi contenuti possono includere contenuti in-app, contenuti di siti web o informazioni mostrate in sezioni o widget, purché l'esperienza sia dedicata all'utente.

    Ad esempio, le implementazioni dell'intent integrato ORDER_MENU_ITEM aiutano gli utenti ad avviare un ordine per la voce di menu o il tipo di cucina specificati. L'unica eccezione a questa norma è quando l'intent integrato OPEN_APP_FEATURE indirizza gli utenti alla schermata Home dell'app.

  • Indirizzare gli utenti a contenuti web pertinenti

    Se gli utenti vengono reindirizzati ai contenuti di una pagina web, il sito web deve essere pertinente all'azione pensata per gli utenti ed essere di proprietà del brand.

    Ad esempio, reindirizzare gli utenti che attivano il tuo intent integrato GET_RESERVATION per google.com/travel, che non appartiene al brand della tua app exampledomain.com, costituisce una violazione. Un altro esempio di violazione è il reindirizzamento degli utenti che attivano il tuo intent integrato GET_CALL_HISTORY per exampledomain.com/payment e che richiedono loro di effettuare un acquisto.

  • Implementare intent integrati di Azioni app pertinenti

    Gli oggetti BII implementati devono essere direttamente correlati ai contenuti e alle funzionalità dell'app.

    Ad esempio, se l'app si trova nella categoria Comunicazioni del Play Store, non implementare l'intent integrato ORDER_MENU_ITEM, che è consigliato per le app della categoria Cibi e bevande.

  • Implementare intent personalizzati pertinenti

    Le query definite per gli intent personalizzati riguardano i contenuti e le funzionalità dell'app. Un esempio di potenziale violazione di questa norma è la creazione dell'intent custom.action.intent.GET_RECIPE con il pattern di query associato "Mostrami ricette per burrito" per un'app nella categoria Trasporti del Play Store.