Crea progetti

Un progetto Actions include tutte le azioni in un unico container. Pubblichi questo progetto su Actions on Google in modo che l'Assistente Google sappia come individuare e richiamare le tue esperienze di conversazione.

componenti del progetto azioni
Figura 1. Struttura del progetto Actions

Per creare il tuo progetto Actions, utilizzi i seguenti componenti di basso livello:

  • Impostazioni e risorse definiscono i metadati e le risorse del progetto, come le icone dei progetti. Google utilizza queste informazioni per pubblicare le tue azioni nella directory dell'assistente, in modo che gli utenti possano rilevarle e richiamarle.

  • Gli intent rappresentano un'attività da eseguire, ad esempio un input utente o un evento di sistema che richiede l'elaborazione. Il tipo più comune di intent che utilizzerai sono gli intent dell'utente. Questi intent ti consentono di dichiarare le frasi di addestramento che sono naturalmente espanse dal motore NLU (Comprensione del linguaggio naturale) per includere molte altre frasi simili. L'NLU utilizza l'aggregazione di queste frasi per addestrare un modello linguistico che l'assistente utilizza per abbinare l'input utente. Durante una conversazione, se un input utente corrisponde al modello linguistico dell'intent, il runtime dell'assistente invia l'intent all'Azione, in modo che possa elaborarlo e rispondere all'utente.

  • Tipi ti consente di estrarre i dati strutturati dall'input utente. Annotando le frasi di addestramento con i tipi, l'NLU può estrarre automaticamente dati strutturati pertinenti, in modo da non dover analizzare gli input a risposta aperta.

  • Le scene elaborano gli intent e sono i principali esecutori logici per le azioni. Possono eseguire il riempimento degli slot, valutare la logica condizionale, restituire richieste all'utente e persino chiamare servizi web esterni per eseguire la logica di business. In combinazione con gli intent, le scene offrono un modo efficace per rilevare input utente o eventi di sistema specifici ed eseguire la logica corrispondente.

  • I richieste definiscono le risposte statiche o dinamiche che utilizzi per rispondere agli utenti.

  • I webhook consentono di delegare il lavoro aggiuntivo ai servizi web (fulfillment), come la convalida dei dati o la generazione di prompt. Le azioni comunicano con il fulfillment tramite un protocollo webhook basato su JSON.

  • Interactive Canvas ti consente di creare esperienze complete e coinvolgenti con le app web che utilizzano HTML, CSS e JavaScript.

Creare un progetto

Devi creare un progetto nella console di Actions prima di poter sviluppare per l'Assistente Google. Per creare un progetto:

  1. Vai alla Console di Actions.
  2. Fai clic su Nuovo progetto.
  3. Inserisci un nome per il progetto e fai clic su Crea progetto.
  4. Nella schermata Che tipo di azione vuoi creare?, seleziona una categoria che rappresenti al meglio il tuo progetto e fai clic su Avanti.
  5. Nella schermata Come vuoi crearlo, seleziona un modo per creare e fai clic su Inizia a costruire. Ad esempio, puoi iniziare con un progetto vuoto o con un esempio.

Crea un progetto SDK Actions locale

Dopo aver creato un progetto Actions nella console Actions, puoi inizializzarlo nel tuo ambiente di sviluppo locale.

Per inizializzare un progetto Actions SDK da un progetto Actions esistente, segui questi passaggi:

  1. Crea una directory vuota per il progetto Actions nel file system locale.
  2. In questa directory vuota, crea una directory sdk.
  3. Sostituisci la directory di lavoro con la directory sdk del terminale.

Inizia con un progetto vuoto

Se vuoi iniziare dal progetto vuoto che hai appena creato nella console, esegui gactions pull --project-id <my-project-id>.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

Inizia con un progetto di esempio

Se vuoi iniziare da un progetto di esempio, esegui gactions init <sample name>.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

Definisci le informazioni del progetto

Le impostazioni e le risorse del progetto definiscono le informazioni sul progetto, ad esempio il supporto per funzionalità e piattaforme, impostazioni internazionali supportate, nome visualizzato, descrizione, loghi e altro ancora. La tabella seguente descrive le impostazioni e le risorse principali fornite. Actions on Google utilizza queste informazioni per eseguire il deployment del tuo progetto e pubblicarlo nella directory dell'assistente.

Nome Descrizione
Informazioni sulla directory Fornisce informazioni in modo che Actions on Google possa pubblicare il tuo progetto nella directory dell'assistente. Include metadati e descrizioni sul progetto e risorse immagine per loghi e immagini del banner.
Targeting per località Configura le impostazioni internazionali in cui sono disponibili le azioni.
Funzionalità della piattaforma Consente di configurare le piattaforme su cui sono disponibili le tue azioni.
Dettagli dell'azienda Specifica le informazioni di contatto della tua azienda.
Verifica del brand Connetti un sito web o un'app Android di tua proprietà per usufruire di vantaggi extra, come nomi di chiamata riservati e collegamenti ai siti web all'interno delle tue Azioni.
Release Consente di configurare diverse release di test e di produzione per l'Azione a scopo di test e produzione.
Link all'assistente Consenti agli utenti di richiamare le azioni dalle tue proprietà web.

Per definire le informazioni del progetto:

  1. Definisci le impostazioni globali per il tuo progetto Actions in sdk/settings/settings.yaml. Consulta la documentazione di riferimento delle impostazioni per conoscere i valori supportati.

    Lo snippet seguente mostra un file sdk/settings/settings.yaml di esempio:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. Definisci le impostazioni che possono variare in base alle impostazioni internazionali dell'utente (ad esempio, frasi di chiamata in diverse lingue) in un file sdk/settings/<locale>/settings.yaml, sostituendo locale con le impostazioni internazionali di destinazione.

    Per i valori supportati, consulta la documentazione di riferimento di LocalizedSettings.

    Lo snippet seguente è un esempio delle impostazioni in inglese definite in un file sdk/settings/en/settings.yaml:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

Aggiungi risorse

Puoi archiviare risorse come file immagine, file audio e stringhe nel progetto Actions e farvi riferimento dai file di configurazione (ad esempio, definizioni o condizioni dei prompt) utilizzando la variabile $resources definita dal sistema.

Le risorse del progetto sono archiviate in resources/ e a ogni tipo di risorsa viene assegnata una cartella nella directory.

Puoi localizzare le risorse creando cartelle specifiche delle impostazioni internazionali nella cartella del tipo di risorsa, ad esempio puoi archiviare le versioni spagnole delle stringhe in resources/strings/es/<filename>.yaml.

Immagini

I file immagine sono archiviati in resources/images/ e puoi farvi riferimento con $resources.images.<name of the image file without file extension>. Le estensioni file consentite sono:

  • gif
  • png
  • jpg
  • jpeg

Ad esempio, se la versione in inglese del logo piccolo viene salvata in resources/images/en/square.png e la versione in inglese del banner grande viene salvata rispettivamente in resources/images/en/landscape.jpg, sdk/settings/en/settings.yaml dell'esempio precedente diventerà:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

File audio

I file audio sono memorizzati in resources/audio/ e puoi farvi riferimento con $resources.audio.<name of the audio file without file extension>.

Le estensioni file consentite sono:

  • mp3
  • mpeg

Ad esempio, puoi fare riferimento alle registrazioni audio dai prompt:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

Stringa

Le stringhe sono archiviate in resources/strings/ come file .yaml. Ogni file contiene una mappa di chiavi di stringa e valori associati, che possono essere singole stringhe o elenchi di stringhe. Puoi fare riferimento ai valori utilizzando $resources.strings.<name of the image file without file extension>.<key> per valori di stringa singola o per ottenere un valore casuale da un elenco e $resources.strings.<name of the image file without file extension>.<key>.<numerical index> per un valore stringa specifico all'interno di un elenco.

Ad esempio, utilizzando le stringhe di risorse per la localizzazione delle stringhe, sdk/settings/en/settings.yaml dell'esempio precedente potrebbe diventare:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

Testa i progetti nel simulatore

La console di Actions fornisce un simulatore in cui visualizzare l'anteprima delle azioni. Il simulatore consente di visualizzare informazioni di debug, impostare le funzionalità del dispositivo, simulare l'impostazione internazionale e altro ancora.

Figura 3. Le aree principali del simulatore: (1) input utente, (2) visualizzazione del dispositivo, (3) opzioni e impostazioni e (4) log delle conversazioni.

Per testare un progetto:

  1. Esegui gactions deploy preview per eseguire il deployment dell'azione in "anteprima" e abilitare i test nel simulatore.
  2. Apri l'URL nell'output comando per accedere al simulatore.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview