Migliora l'esperienza complessiva dei tuoi utenti seguendo queste guide per la progettazione dei componenti aggiuntivi.
Best practice generali
Ti invitiamo a utilizzare le seguenti best practice per tutti i componenti aggiuntivi che sviluppi.
Determinare la proprietà del componente aggiuntivo prima di iniziare
I componenti aggiuntivi sono definiti dai progetti Apps Script, che devono essere di proprietà di un account specifico o essere inseriti in un Drive condiviso. Prima di codificare un componente aggiuntivo, determina quale account deve essere proprietario del progetto e quale account funge da publisher. Determina anche quali account devono fungere da collaboratori e assicurati che abbiano accesso al progetto di script e al progetto Google Cloud associato.
Estendi Google Workspace, non replicarlo
I componenti aggiuntivi hanno lo scopo di fornire nuove funzionalità alle applicazioni Google Workspace che estendono o di automatizzare attività complesse. I componenti aggiuntivi che si limitano a replicare funzionalità già presenti nell'applicazione o che non apportano miglioramenti significativi a un flusso di lavoro non supereranno probabilmente la revisione dei componenti aggiuntivi per la pubblicazione.
Mantieni gli ambiti ristretti
Quando definisci gli ambiti
in modo esplicito, scegli sempre
il set di ambiti meno permissivo possibile. Ad esempio, non richiedere l'accesso completo al calendario dell'utente con l'ambito https://www.googleapis.com/auth/calendar se l'accesso in lettura è sufficiente. Per l'accesso di sola lettura, utilizza
l'ambito https://www.googleapis.com/auth/calendar.readonly.
Evita di fare troppo affidamento sulle librerie
L'utilizzo delle librerie di Apps Script può far funzionare più lentamente il componente aggiuntivo rispetto a quando tutto il codice Apps Script è contenuto in un unico progetto di script. Sebbene le librerie Apps Script funzionino nei componenti aggiuntivi, potresti riscontrare riduzioni delle prestazioni se le utilizzi. Evita di includere librerie non necessarie nel tuo progetto e valuta i modi per ridurre la dipendenza del tuo componente aggiuntivo da queste librerie.
La latenza descritta sopra si applica solo ai progetti Apps Script utilizzati come librerie lato server. Puoi utilizzare liberamente librerie JavaScript lato client come jQuery senza riscontrare questa latenza.
Best practice per i componenti aggiuntivi di Google Workspace
Le seguenti best practice si applicano solo ai componenti aggiuntivi di Google Workspace e all'utilizzo del servizio Card.
Utilizzare solo poche carte
Se il componente aggiuntivo utilizza troppe schede, la configurazione della navigazione diventa complessa e difficile da gestire.
Evita l'impulso di creare più schede del necessario.
Utilizzare le funzioni di creazione dei widget
Quando scrivi codice che crea un
Card o altri oggetti UI complessi,
valuta la possibilità di inserire il codice in una funzione separata. Questa funzione di creazione deve
solo creare l'oggetto e restituirlo. In questo modo puoi rigenerare rapidamente l'oggetto
ogni volta che l'interfaccia utente deve essere aggiornata. Ricordati di chiamare build() dopo aver utilizzato
le classi builder nel servizio di schede.
Semplifica le schede
Se una determinata scheda ha troppi widget, può occupare troppo spazio sullo schermo e diventare meno utile. Sebbene le sezioni delle schede di grandi dimensioni vengano visualizzate come elementi dell'interfaccia utente comprimibili, questo nasconde le informazioni all'utente. Cerca di semplificare il tuo componente aggiuntivo e fornisci esattamente ciò di cui l'utente ha bisogno e non altro.
Utilizzare le schede di errore
Crea schede per le condizioni di errore. Se il componente aggiuntivo genera un errore, dovrebbe visualizzare una scheda con le informazioni sull'errore e le istruzioni su come correggerlo, se possibile. Ad esempio, se il tuo componente aggiuntivo non è riuscito a connettersi a un servizio non Google perché l'autorizzazione non è andata a buon fine, mostra una scheda che lo indica e chiedi all'utente di verificare le informazioni dell'account utilizzate.
Scrivere test e messaggi di test
Ti consigliamo di testare a fondo tutti i componenti aggiuntivi che crei. Crea funzioni di test che creano schede e widget utilizzando i dati di test, quindi verifica che gli oggetti vengano creati come previsto.
Quando utilizzi le funzioni di callback dell'azione, in genere devi creare un oggetto risposta. Puoi utilizzare istruzioni come le seguenti per verificare che le risposte vengano create correttamente:
Logger.log(response.printJson());
Esegui le funzioni di test che crei direttamente dall'editor di Apps Script utilizzando il menu Esegui. Quando hai un componente aggiuntivo funzionante, assicurati di installare la versione non pubblicata per poterlo testare.
Utilizza dati di test appropriati per ogni applicazione host
a cui si estende il componente aggiuntivo. Ad esempio, se il
componente aggiuntivo estende Gmail, probabilmente avrai bisogno di
alcune email di test e dei relativi ID messaggio per assicurarti che il
componente aggiuntivo funzioni come previsto quando viene fornito un
contenuto del messaggio diverso. Puoi ottenere l'ID messaggio per un determinato messaggio elencando
i messaggi utilizzando il metodo API Gmail
users.messages.list
o utilizzando il servizio
Gmail di Apps Script.
Best practice per le conferenze di Calendar
Se il tuo componente aggiuntivo integra opzioni di conferenza con calendari di terze parti in Google Calendar, segui queste best practice aggiuntive:
Mantenere la luce onCreateFunction
Ogni
onCreateFunction
che definisci nel manifest viene chiamato in modo sincrono quando un utente tenta di
creare una soluzione per conferenze di quel tipo. Assicurati che queste funzioni svolgano solo il
lavoro minimo necessario per creare la conferenza. Se queste funzioni
sono troppo complesse, l'esperienza utente del tuo
componente aggiuntivo potrebbe essere lenta.
Utilizza i campi ConferenceData appropriati per i dati della conferenza
Quando crei
ConferenceData
oggetti, puoi popolarli con i dettagli della conferenza (codici di accesso,
numeri di telefono, PIN, URI e così via). Assicurati di utilizzare il campo
EntryPoint corrispondente per
queste informazioni. Non inserire questi dettagli nel campo delle note ConferenceData.
Non aggiungere i dettagli della conferenza all'evento di Calendar
Il componente aggiuntivo non deve aggiungere informazioni sulle conferenze di terze parti create alla descrizione dell'evento di Calendar. Calendar esegue questa operazione automaticamente quando necessario.