Melhore a experiência geral dos usuários seguindo estes guias para o design de complementos.
Práticas recomendadas gerais
Recomendamos que você siga as práticas recomendadas abaixo para todos os complementos que desenvolver.
Determinar a propriedade do complemento antes de começar
são definidos por projetos do Apps Script, que precisam ser de uma conta específica ou colocados em um drive compartilhado. Antes de programar um complemento, determine qual conta será proprietária do projeto e qual será o editor. Determine também quais contas vão atuar como colaboradoras e verifique se elas têm acesso ao projeto do script e ao projeto da plataforma do Cloud associado.
Amplie o Google Workspace, não o replique
Os complementos têm o objetivo de oferecer novos recursos aos aplicativos do Google Workspace que eles estendem ou automatizam tarefas complexas. Os complementos que apenas replicam a funcionalidade já existente no aplicativo ou que não fazem melhorias significativas em um fluxo de trabalho provavelmente não serão aprovados na análise de complementos para publicação.
Manter os escopos restritos
Ao definir seus escopos explicitamente,
sempre escolha o conjunto de escopos menos permissivo possível. Por exemplo, não
permita que o complemento solicite acesso total ao calendário do usuário com o
escopo https://www.googleapis.com/auth/calendar
se ele precisar apenas de acesso de
leitura. Para acesso somente leitura, use o
escopo https://www.googleapis.com/auth/calendar.readonly
.
Evite depender muito das bibliotecas
O uso de bibliotecas do Apps Script pode fazer com que o complemento seja executado mais lentamente do que se todo o código do Apps Script estivesse contido em um único projeto de script. Embora as bibliotecas do Apps Script funcionem em complementos, você pode ter uma redução de desempenho se as usar. Evite incluir bibliotecas desnecessárias no seu projeto e considere maneiras de reduzir a dependência do complemento delas.
A latência descrita acima se aplica apenas a projetos do Apps Script usados como bibliotecas do lado do servidor. É possível usar bibliotecas JavaScript do lado do cliente, como o jQuery, sem encontrar essa latência.
Práticas recomendadas para complementos do Google Workspace
As práticas recomendadas a seguir se aplicam apenas aos complementos do Google Workspace e ao uso do serviço de cartão.
Use apenas alguns cards
Se o complemento usar muitos cards, a configuração de navegação vai ficar complexa e difícil de gerenciar.
Evite criar mais cards do que o necessário.
Usar funções de criação de widgets
Ao escrever código que cria Card
ou outros objetos de interface complexos, considere colocar esse código na própria função.
Essa função de criação precisa apenas criar o objeto e o retornar. Isso permite
que você regenere rapidamente esse objeto sempre que a interface precisar ser atualizada. Não se esqueça
de chamar build()
depois de usar as classes de builder no
serviço de cartão.
Mantenha os cards simples
Se um card tiver muitos widgets, ele poderá ocupar muito da tela e tornar-se menos útil. Embora as seções de cards grandes sejam renderizadas como elementos de interface colapsáveis, isso oculta informações do usuário. O objetivo é simplificar o complemento e fornecer exatamente o que o usuário precisa e nada mais.
Usar cards de erro
Crie cards para condições de erro. Se o complemento gerar um erro, ele vai exibir um card com informações sobre o erro e instruções sobre como corrigi-lo, se possível. Por exemplo, se o complemento não conseguir se conectar a um serviço que não seja do Google porque a autorização falhou, mostre um card informando isso e peça ao usuário para verificar as informações da conta que estão sendo usadas.
Programar testes e mensagens de teste
Teste todos os complementos que você criar. Crie funções de teste que criem cards e widgets usando dados de teste e verifique se os objetos são criados conforme o esperado.
Ao usar funções de callback de ação, geralmente é necessário criar um objeto de resposta. Use instruções como esta para verificar se as respostas estão sendo criadas corretamente:
Logger.log(response.printJson());
Execute funções de teste criadas diretamente no editor do Apps Script usando o menu Run. Quando você tiver um complemento viável funcionando, instale a versão não publicada para testá-lo.
Use dados de teste adequados para cada aplicativo host que o complemento estende. Por exemplo, se o complemento estender o Gmail, é provável que você precise de alguns e-mails de teste e dos IDs das mensagens para garantir que o complemento funcione conforme o esperado com diferentes conteúdos de mensagem. É possível conferir o ID de uma mensagem específica listando mensagens usando o método Users.messages.list da API Gmail ou usando o serviço do Gmail do Apps Script.
Práticas recomendadas para videoconferências de agenda
Se o complemento integrar opções de videoconferência de agenda de terceiros ao Google Agenda, siga estas práticas recomendadas:
Mantenha a onCreateFunction
acesa
Cada onCreateFunction
definida no manifesto é chamada de forma síncrona quando um usuário tenta
criar uma solução de conferência desse tipo. Confira se essas funções fazem apenas o
trabalho mínimo necessário para criar a conferência. Fazer muito nessas
funções pode causar uma experiência de usuário lenta para seu complemento.
Use campos ConferenceData
adequados para dados de conferência
Ao criar objetos
ConferenceData
,
é possível preenchê-los com detalhes sobre a conferência (códigos de acesso, números de telefone, pinos, URIs etc.). Use o campo
EntryPoint
correspondente para essas informações. Não coloque esses detalhes no campo de notas
ConferenceData
.
Não anexar detalhes de videoconferência ao evento do Google Agenda
Seu complemento não precisa adicionar informações sobre conferências de terceiros criadas à descrição do evento do Google Agenda. O Google Agenda faz isso automaticamente quando necessário.