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.
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:
- Vai alla Console di Actions.
- Fai clic su Nuovo progetto.
- Inserisci un nome per il progetto e fai clic su Crea progetto.
- Nella schermata Che tipo di azione vuoi creare?, seleziona una categoria che rappresenti al meglio il tuo progetto e fai clic su Avanti.
- 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:
- Crea una directory vuota per il progetto Actions nel file system locale.
- In questa directory vuota, crea una directory
sdk
. - 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:
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 ...
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.
Per testare un progetto:
- Esegui
gactions deploy preview
per eseguire il deployment dell'azione in "anteprima" e abilitare i test nel simulatore. - 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