Deep Linking per l’App Go.Learn

Scopri come creare deep link per la tua app Go.Learn

Ultimo Aggiornamento

27 Ottobre 2020

Tempo di Lettura

7 min

Livello Utente

Introduzione

Nel contesto delle app mobile, il deep linking consiste nell’utilizzare uno Uniform Resource Identifier (URI) che, invece di avviare semplicemente l’applicazione, crea un collegamento a una pagina specifica all’interno dell’app.

L’uso dei deep link apre una vasta serie di possibilità di integrazione per l’app Go.Learn di Docebo. La maggior parte dei parametri di avvio e di navigazione all’interno dell’app sono passati all’app durante l’avvio. L’URL della piattaforma, l’autorizzazione dell’utente e i corsi sono solo alcuni degli esempi di informazioni che possono essere automatizzate tramite deep linking. Non è quindi necessario che gli utenti finali comprendano le funzionalità tecniche che hanno luogo all’interno dell’app per accedere facilmente all’app e ai corsi.

Attenzione: il Deep Linking è una funzionalità molto tecnica. Contattare il proprio sviluppatore di contenuti o un membro del reparto IT della propria azienda. Si noti che questa funzionalità è diversa dalla funzionalità di Link per l’Iscrizione al Corso presente in piattaforma, illustrata in questo articolo.

Casi d’Uso

L’uso dei deep link apre una vasta serie di possibilità per l’app mobile, tra cui:

– Creare un link che porta l’utente a un corso specifico al quale è iscritto/a. In questo modo l’utente può saltare il processo di login

– Avviare un materiale didattico specifico in Go.Learn cliccando un link da un’altra app

– Condividere, all’interno di post sui social, un link che porta a contenuti di informal learning (utilizzando una web redirect JS)

Attenzione: questa ultima possibilità è molto tecnica. Si noti che è necessario predisporre una web redirect sul proprio server che pratichi la conversione da indirizzo URL http verso un deep link formattato nella maniera opportuna (la guida contiene tutte le informazioni necessarie per effettuare questa conversione). Questa redirect si fa tramite un javascript collocato nella sezione <header> del documento HTML.

URI e Scheme del Deep Linking

golearn:// è lo scheme di default dell’app Go.Learn di Docebo.

Per avviare l’app, semplicemente digitare questo URI (golearn://) in qualsiasi altra app o pagina web.

L’esempio seguente illustra la struttura di un deep link Go.Learn:Deep Linking Scheme

Soltanto lo Scheme, che attiva la procedura di lancio dell’app, è obbligatorio. Utilizzare il Target Path per navigare verso una pagina o materiale didattico specifico e l’URL Param (è un parametro opzionale) per passare l’URL dell’LMS in formato Base64. L’ultima parte, JWT Token Param (anch’esso parametro opzionale) è l’authorization bearer.

Navigare Verso le Pagine

È possibile navigare direttamente verso due diversi tipi di pagina: pagine di Accesso e pagine Applicative. Fare riferimento alle sezioni sottostanti per ulteriori informazioni su ognuna delle due tipologie.

Pagine di Accesso

È possibile avviare Go.Learn e forzare la navigazione verso una di queste pagine di accesso: pagina di Pre-login o pagina di Login.

golearn://preloginpage apre l’app e naviga verso la pagina di Pre-login, ovvero la pagina dell’app in cui l’utente inserisce l’URL della piattaforma. Può essere combinato con il parametro Domain per precompilare l’URL della piattaforma (fare riferimento alla sezione Parametri di Accesso di questo documento).

golearn://loginpage apre l’app e naviga verso la pagina di Login, ovvero la pagina dell’app in cui l’utente inserisce nome utente e password (oppure sceglie il metodo di SSO). Come nel caso precedente, l’URI può essere combinato con il parametro Domain per precompilare l’URL della piattaforma ma, in questo caso, è anche possibile che l’URL della piattaforma sia già conosciuto dall’app.

Attenzione: quando si naviga verso le pagine preloginpage e loginpage, qualsiasi utente connesso verrà disconnesso. Ad esempio, se un utente connesso all’app riceve un’email dall’Admin contenente il deep link golearn://loginpage oppure golearn://loginpage e lo clicca, verrà disconnesso e reindirizzato alla pagina di Pre-login, dove dovrà inserire di nuovo le proprie credenziali di accesso.

Se nel deep link non viene passato il parametro Domain e nello stato dell’app non è salvato l’URL della piattaforma, l’app naviga verso la pagina di Pre-login.

Pagine Applicative

È anche possibile navigare direttamente verso le pagine Tutti i Canali, Il mio Canale, I miei Corsi e Piani Formativi, Tutti i Cataloghi, e Contenuto Offline dell’app. È possibile navigare anche verso le pagine widget personalizzate.

golearn://allchannelspage, golearn://mychannelpage, golearn://mycoursespage, golearn://cataloggolearn://offlinecontentpage aprono l’app e navigano verso la pagina corrispondente. Per navigare verso le pagine widget personalizzate, il deep link è il seguente: golearn://pages/{page_id} . L’ID della pagina (page_ID) si trova nella barra degli indirizzi del browser desktop (ad esempio, l’ID della pagina in questo caso è 53: https://lyceum.docebosaas.com/pages/53/my-dashboard). Ognuno di questi URI può essere combinato liberamente con i parametri opzionali Domain e Token per fornire l’autenticazione.

Il deeplink golearn://learn naviga verso la pagina di default dell’app Go.Learn (che può essere la pagina Tutti i Canali oppure la pagina I miei Corsi e Piani Formativi, a seconda di quale pagina si è configurata come pagina di default all’apertura dell’app).

Navigare Verso i Contenuti

I deep link possono portare sia a contenuti formali che informali. Attenzione: se si punta a un oggetto che l’utente non può visualizzare (non dispone delle autorizzazioni per la visualizzazione), in un popup apparirà un messaggio contestuale (ad es. “Non ti è consentito accedere a questo corso/materiale formativo/contributo”). Si noti che i deep link possono essere diretti solo verso un intero materiale didattico e non verso un marcatore temporale o una pagina specifici del materiale.

Contenuti Formali

È possibile creare deep link che portano a corsi (e anche a sessioni di corsi in aula e webinar), piani formativi, materiali didattici di un corso, e cataloghi specifici, come mostrato negli esempi che seguono:

Corsi: nella versione desktop della piattaforma, l’URL  https://demo.docebosaas.com/learn/course/{course_id} diventa golearn://course/{course_id} (course_id è l’ID univoco presente nell’URL di un corso, che può essere di tipo e-learning, corso in aula o webinar). In alternativa, lo si può ottenere tramite una chiamata API. Fare riferimento a questi articoli per ulteriori informazioni sulle API.

Sessioni di corsi in aula o webinar: nella versione desktop della piattaforma, l’URL  https://demo.docebosaas.com/learn/course/{course_id}/session/{session_id}/{session_name} diventa golearn://course/{course_id}/session/{session_id} (course_id è l’ID univoco presente nell’URL di un corso, e session_id è l’ID della sessione del corso in aula o webinar che si visualizza nell’URL). In alternativa, lo si può ottenere tramite una chiamata API. Fare riferimento a questi articoli per ulteriori informazioni sulle API.

Piani formativi: nella versione desktop della piattaforma, l’URL  https://demo.docebosaas.com/learn/lp/{learning_plan_id}/docebo-plan diventa golearn://lp/{learning_plan_id} (learning_plan_id è l’ID univoco presente nell’URL di un corso).

Materiali didattici: nella versione desktop della piattaforma, l’URL https://demo.docebosaas.com/learn/course/{course_id}/play/{lo_id}/how-to, diventa golearn://course/{course_id}/play/{lo_id} (course_id è l’ID univoco del corso presente nell’URL di un corso e lo_id è l’ID del materiale didattico presente nell’URL).

Cataloghi: nella versione desktop della piattaforma, l’URL https://demo.docebosaas.com/learn/catalog/view/{catalog_id} diventa golearn://catalog/{catalog_id} (catalog_id è l’ID univoco presente nell’URL di un catalogo).

Contenuti Informali

È inoltre possibile creare deep link che portano a contenuti informali, come ad esempio specifici contributi condivisi da altri utenti o esperti, oppure playlist.

Contributi: nella versione desktop della piattaforma, l’URL https://demo.docebosaas.com/share/asset/view/{asset_id} diventa golearn://asset/view/{asset_id} (asset_id è l’ID univoco presente nell’URL di un contributo).

Playlist: nella versione desktop della piattaforma, l’URL https://demo.docebosaas.com/share/playlist/{playlist_id} diventa golearn://playlist/{playlist_id} (playlist_id è l’ID univoco presente nell’URL di un corso).

Parametri di Accesso

I parametri opzionali Domain e Token rendono i processi di accesso e di login più immediati. Utilizzando questi parametri, è possibile specificare direttamente nel deep link l’URL della piattaforma a cui si vuole accedere e un bearer delle credenziali utilizzate per il login.

Parametro Domain

Il parametro Domain contiene l’URL della piattaforma codificato in Base64. golearn://allchannelspage?domain=bXlwbGF0Zm9ybS5kb2NlYm9zYWFzLmNvbQ== naviga verso la pagina dell’app Tutti i Canali nella piattaforma myplatform.docebosaas.com.

Attenzione: se l’utente di Go.Learn ha già effettuato l’accesso in quella data piattaforma, Go.Learn naviga direttamente verso la pagina specificata nella sezione Target path del deep link. Se nessun utente è connesso in quel momento, Go.Learn naviga verso la pagina di Login della piattaforma specificata tramite l’URL. Quindi, dopo il login, naviga verso la pagina specificata nella sezione Target path del deep link.

Se invece un utente ha già effettuato l’accesso, ma in un’altra piattaforma, viene disconnesso e Go.Learn naviga verso la pagina di Login della piattaforma specificata tramite l’URL. Infine, dopo il login, naviga verso la pagina specificata nella sezione Target path del deep link.

Attenzione: in un’app mobile branded con dominio fisso, il parametro Domain viene ignorato. È possibile evitare di inserire questo parametro, dato che non viene utilizzato.

Parametro Token

Il parametro Token deve essere un token JWT contenente l’autorizzazione ad accedere alla piattaforma. Leggere questo articolo per informazioni aggiuntive sui token JWT. Ricordare che se si utilizza un dominio personalizzato, nel campo “aud” (Audience) del token JWT  bisogna includere l’original domain di Docebo saas come nome dell’host.

golearn://allchannelspage?token=eyJhbGc.jM5MDIyf.EowmOx6Iy&domain=bXlwbGF0Zm9ybS5kb2NlYm9zYWFzLmNvbQ== naviga verso la pagina dell’app Tutti i Canali nella piattaforma myplatform.docebosaas.com utilizzando le credenziali specificate nel token JWT all’interno del parametro Token.

Attenzione: il parametro Token deve contenere la stringa JWT e la chiave di accesso non è un valore valido per questo parametro.

Convertire Link Legacy in Deep Link

Consulta la tabella qui sotto per conoscere i vecchi link legacy da convertire nei nuovi link corrispondenti da utilizzare su mobile:

link legacy deep link

Consigli

Per ragioni di sicurezza, è fortemente sconsigliato incorporare deep link all’interno di un documento HTML statico. È invece consigliato navigare usando i deep link come risultato di una funzione che chiede che il deep link sia composto nella parte backend.

Non tutti gli ID utilizzati per comporre un deep link sono eterni. Quindi, se si pensa che l’ID di un oggetto possa cambiare nel corso del tempo, è consigliabile generare un deep link al momento utilizzando le funzioni.