Come si crea un'app per Microsoft Teams?
La creazione e la distribuzione di un'app incorporata nella piattaforma Microsoft Teams implica la definizione degli elementi da creare, la creazione di servizi Web, la creazione di un pacchetto dell'app e la distribuzione del pacchetto agli utenti finali di destinazione. Gli amministratori di un'organizzazione possono decidere chi può accedere e installare l'app, inoltre gli utenti potranno scegliere se installarla in un determinato contesto. Ognuno di questi passaggi viene descritto in modo più dettagliato.
Progettare l'app
Il passaggio più importante per creare un'app di successo per Microsoft Teams è la scelta della combinazione giusta di punti di estendibilità ed elementi dell'interfaccia utente da cui trarre vantaggio. È consigliabile dedicare una buona quantità di tempo a comprendere il problema che si sta provando a risolvere con l'app e a mappare la soluzione, utilizzando i vari modi in cui gli utenti possono interagire con l'app nel client Microsoft Teams. Non sottovalutare l'importanza del contesto e dell'ambito. Un bot conversazionele che funziona bene in una chat singola potrebbe non farlo affatto come parte di una chat di gruppo o di una conversazione di canale.
Ecco un riepilogo delle funzionalità disponibili e di alcuni scenari per cui sono più adatte. È possibile eseguire molte attività in più di un modo; la scelta dello strumento giusto per il processo renderà migliore l'esperienza utente.
- Estensioni di messaggistica: i comandi di ricerca sono utili per consentire agli utenti di eseguire ricerche in un sistema esterno, per poi condividere i risultati della ricerca all'interno di Teams. Con le schede e le azioni per le schede, è possibile formattare i risultati della ricerca e consentire agli utenti di eseguire azioni su di essi senza uscire dal client Microsoft Teams.
- Estensioni messaggistica: i comandi delle azioni sono ottimi per raccogliere informazioni dall'utente in un'unica posizione, per poi inviarle ai servizi Web. Sono eccellenti negli scenari in cui è necessario creare un record di un certo tipo o raccogliere più di alcune informazioni come parte di una singola transazione.
- Schede: all'interno di gruppi e canali offrono un'area di disegno condivisa in cui possono collaborare più persone. È consigliabile aggiungerle all'app se si hanno informazioni o servizi applicabili a un gruppo di persone. Tenere presente che tutti lavorano dalla stessa area di disegno, la pagina deve essere dunque priva di stato e funzionare come un'app con una sola pagina.
- Schede: nelle app personali permettono un'esperienza personale, simile al Web. In genere, sono ottimali per gli scenari "hub", ad esempio "elementi assegnati a me" o "cose che ho creato". Possono anche essere utili per contenuti statici come la guida o le pagine di informazioni.
- I bot conversazioneli, nei gruppi e nei canali, consentono di aggiungere a una conversazione informazioni utili per tutte le persone coinvolte (o almeno per la maggior parte). Possono essere usati per aggiungere proattivamente informazioni pertinenti alla conversazione o per rispondere alle richieste degli utenti ("bot, crea un sondaggio per decidere dove andare a pranzo"). In genere, non dovrebbero essere usati per le conversazioni a più turni: usare un modulo attività per raccogliere le informazioni o spostare la conversazione in una chat singola, quindi inserire di nuovo i risultati nella conversazione originale.
- Bot conversazionali: nelle app personali possono abilitare carichi di lavoro incredibilmente diversificati. Bot di Domande e risposte, bot che avviano flussi di lavoro in altri sistemi, bot che raccontano barzellette o bot che prendono appunti sono solo alcuni esempi. Valutare sempre se un'interfaccia basata su conversazione è il modo migliore per presentare le funzionalità.
- Webhook e connettori sono utili per consentire agli utenti di sottoscrivere un canale ai messaggi di notifica provenienti da un sistema esterno.
- Le app per le riunioniconsentono collaborazione, partnership, comunicazioni informate e feedback condivisi. L'app per riunioni può offrire un'esperienza utente per ogni fase del ciclo di vita delle riunioni. Il ciclo di vita della riunione include l'esperienza dell'app pre-riunione, durante la riunione e post-riunione, a seconda dello stato del partecipante. In questo modulo, è illustrato come creare app personalizzate da usare nelle riunioni di Microsoft Teams.
In genere, le app migliori sfruttano più punti di estensione. Si supponga ad esempio che l'organizzazione voglia consentire agli utenti di inviare suggerimenti per i miglioramenti. È possibile creare un'app con un comando di ricerca dell'estensione di messaggistica per trovare e condividere i suggerimenti esistenti, aggiungere un comando di azione per consentire agli utenti di creare e aggiornare i suggerimenti, una scheda di canale in modo che un team possa visualizzare tutti i suggerimenti a esso assegnati e una scheda personale in modo che un utente possa visualizzare tutti i suggerimenti che ha inviato in passato. Aggiungere un bot conversazionale basato sull'elaborazione del linguaggio naturale e sull'apprendimento automatico, consentendo agli utenti di eseguire query complesse tra i suggerimenti, oltre a un'app Teams completamente integrata.
Preparare l'ambiente di sviluppo
È necessario almeno accedere a un'organizzazione di Microsoft 365 con l'abilitazione al caricamento di app personalizzate. Se non se ne possiede uno, è possibile ottenere un'organizzazione di sviluppo iscrivendosi al programma per sviluppatori di Microsoft 365. È anche necessario un modo per distribuire e ospitare i servizi Web. Per lo sviluppo locale è possibile usare un servizio di sviluppo pubblico come ngrok, ma per la produzione è necessario distribuire i servizi, probabilmente a un provider di servizi cloud come Azure. È possibile usare un'infrastruttura locale per ospitare i servizi Web, ma devono essere accessibili pubblicamente, non trovarsi dietro un firewall.
Selezionare l'ambiente di sviluppo
Gli sviluppatori hanno diverse opzioni per la creazione di app di Microsoft Teams.
La community Yeoman Generator per Microsoft Teams (anche detto "yo teams") svolge un progetto quando lo sviluppatore ha risposto ad alcune domande sul tipo di app Microsoft Teams che sta creando. Altre informazioni su Yeoman Generator per Microsoft Teams sono qui: Creare la prima app di Microsoft Teams.
Il Microsoft Teams Toolkit consente di creare app Teams personalizzate direttamente all'interno dell'ambiente Visual Studio Code. Il toolkit illustra il processo e fornisce tutto il necessario per creare, eseguire il debug e avviare l'app Teams. Altre informazioni su Microsoft Teams Toolkit per Visual Studio Code sono disponibili qui: Creare app con Microsoft Teams Toolkit e Visual Studio.
Creare i servizi Web
Dopo aver deciso come gli utenti interagiranno con l’app, è il momento di creare i servizi Web per farla funzionare. A seconda delle attività che si stanno creando, Teams fornisce vari SDK, modelli, esempi di codice e generatori per aiutare l'utente a iniziare, tra cui:
- Bot Framework SDK per estensioni di messaggistica e bot conversazionali
- SDK del client JavaScript di Teams per schede e altre pagine di contenuto
- Yeoman generator per la creazione di app in Node.js
- Un set di controlli open source per le pagine di contenuto Web, interfaccia utente Fluent
- Modelli di app pronti per la produzione
Per l'elenco completo di strumenti ed esempi disponibili per iniziare, vedere la documentazione completa.
Tenere presente che è necessario ospitare i servizi Web in un modo che li renda accessibili pubblicamente tramite Internet (in genere in un provider di servizi cloud come Microsoft Azure) e servire i contenuti su HTTPS.
Creare il pacchetto dell'app
Per l'esecuzione dei servizi Web è necessario creare un pacchetto dell'app che può essere distribuito e installato in Microsoft Teams. Il pacchetto dell'app contiene due icone e un file manifesto JSON che descrive i metadati per l'app, i punti di estensione che l'app utilizza e i puntatori ai servizi che alimentano tali punti di estensione.
Quando si crea il pacchetto dell'app, è possibile scegliere di farlo manualmente o usare App Studio, un'app all'interno di Teams che consente di creare app di Teams. App Studio contiene le guide per la creazione del manifesto dell'app e consente di registrare il bot con Bot Framework. Contiene anche un progettista di schede che consente di creare visivamente schede e azioni sulle schede, oltre a inviare esempi all'utente stesso su Teams.
Distribuire l'app
Sono disponibili tre opzioni per distribuire l'app Microsoft Teams personalizzata, a seconda del gruppo di destinatari.
- Condividere direttamente il pacchetto dell'app. È possibile scegliere di condividere il pacchetto dell'app direttamente con gli utenti. Questa funzione è utile se l'app viene indirizzata a un numero limitato di utenti (solo un paio di team o persone) e durante lo sviluppo e il test dell'app.
- Pubblicare l'app nel catalogo app dell'organizzazione. Se l'app si applica a un'organizzazione specifica (o se l'app è stata personalizzata in modo da soddisfare esigenze specifiche di un'organizzazione), un amministratore tenant può caricare l'app nel catalogo app dell'organizzazione. L'app sarà disponibile per l'installazione (ma non verrà installata automaticamente) per tutti gli utenti dell'organizzazione.
- Pubblicare l'app nell'App Store pubblico. Se l'app è destinata a tutti gli utenti di Teams in qualsiasi luogo, è possibile inviarla per la pubblicazione nell'App Store pubblico. Sarà necessario completare un rigoroso processo di revisione, quindi assicurarsi di avere eseguito tutte le operazioni richieste.
Quando si distribuisce l'app, è necessario prendere in considerazione non solo il pubblico desiderato, ma anche i criteri IT applicati all'organizzazione con cui si vuole condividere l'app. Ogni organizzazione ha il controllo completo su come determinare quali app verranno caricate nel catalogo app dell'organizzazione e quali app sono disponibili per l'installazione dall'App Store.
Installazione app
L'installazione di app in Microsoft Teams è specifica per il contesto. L'installazione della parte dell'app personale (ambito per un singolo utente), non installa l'app non in uno specifico team e viceversa. Con l'installazione dell'app in un determinato team, l'app non viene installata in altri. Questo significa che non si dovrebbe mai presupporre che l'app sia installata in tutti i contesti possibili, probabilmente non lo è. Gli amministratori IT di un'organizzazione hanno il controllo completo su chi può installare quali app in quale contesto, quindi non è opportuno presupporre che l'utente con cui interagisce l'app abbia l'autorizzazione per installare l'app in un contesto diverso.
In futuro, l'installazione di un'app direttamente da un pacchetto verrà notevolmente limitata, quindi se si sceglie di distribuire l'app condividendo direttamente il pacchetto dell'app è necessario assicurarsi che gli utenti possano installarla.