Presentación
En el contexto de las aplicaciones móviles, los enlaces profundos consisten en la utilización de un «identificador uniforme de recursos» (URI) que se vincula a una ubicación concreta dentro de una aplicación móvil, en lugar de tener que lanzar la aplicación.
Si hablamos de la aplicación Go.Learn de Docebo, el uso de enlaces profundos posibilita que haya en la aplicación una amplia serie de escenarios de integración en los cuales la mayoría de los parámetros de inicio y de navegación de la aplicación se transfieren a la aplicación mientras se ejecuta. La URL de la plataforma LMS, la autorización del usuario o los cursos de destino son solo algunos ejemplos de información que se puede automatizar mediante enlaces profundos. Es decir, no hace falta que los usuarios finales conozcan las funciones técnicas que se desarrollan en las entrañas de la aplicación para acceder sin problemas a su aplicación y a los cursos.
Recuerda que los enlaces profundos son una función muy técnica. Para configurarlos, deberías contactar con tu desarrollador de contenidos o con alguien del departamento informático de tu empresa. Asimismo, no olvides que esta función no es igual que la función de enlaces de inscripción de Docebo, que se detalla en el artículo Gestión de los enlaces de inscripción en cursos.
Casos prácticos
El uso de enlaces profundos tiene muchas posibilidades, como por ejemplo:
- crear enlaces que lleven al usuario hasta un curso determinado en el que esté inscrito, con lo cual se evita tener que iniciar sesión;
- ejecutar en Go.Learn un material de formación determinado de otra aplicación;
- compartir un enlace a activos informales desde publicaciones en redes sociales (mediante la redirección JS adecuada).
Nota: Esta última es una característica muy técnica. Para hacer esto, tienes que configurar una redirección web en tu servidor convirtiendo la URL «http» en un enlace profundo con el formato adecuado (tienes todo lo que necesitas saber para realizar dicha conversión en esta guía). Esta redirección se realiza a través de un javascript colocado en la sección del documento HTML.
URI y esquema de los enlaces profundos
El esquema predeterminado de la aplicación Go.Learn de Docebo es «golearn://»(sin las comillas).
Para iniciar la aplicación, solo tienes que iniciar este URI («golearn://») desde cualquier otra aplicación o página web.
Aquí debajo puedes ver un ejemplo de la estructura de un enlace profundo de Go.Learn:
Solo hay un elemento obligatorio: el esquema, que activa el inicio de la aplicación. Utiliza la ruta de destino para navegar a una página o a un material de formación específicos y el parámetro URL —es un parámetro opcional— para convertir la URL de LMS a formato Base64. La última parte, Parámetro de token JWT —un parámetro opcional— es el portador de la autorización.
Cómo navegar a las páginas
Puedes navegar directamente a dos tipos diferentes de páginas: páginas de acceso y páginas de aplicaciones. Consulta las siguientes secciones para obtener más información sobre cada tipo.
Páginas de acceso
Puedes iniciar Go.Learn y forzar la navegación a una de las siguientes páginas de acceso: a la página previa al inicio de sesión o a la página de inicio de sesión.
golearn://preloginpage abre la aplicación y navega a la página previa al inicio de sesión, que es la página de la aplicación en la que el usuario inserta la URL de la plataforma. Se puede combinar con el parámetro Dominio para rellenar automáticamente la URL de la plataforma (consulta la sección Parámetros de acceso de este documento).
golearn://loginpage abre la aplicación y navega a la página de inicio de sesión, que es la página de la aplicación en la que el usuario inserta su nombre de usuario y su contraseña (o donde elige el método SSO). Al igual que en el caso anterior, puedes combinar el URI con el parámetro Dominio para rellenar automáticamente la URL de la plataforma; pero en este caso, puedes dar por hecho que la aplicación ya conoce la URL de la plataforma.
Recuerda que al navegar a la página previa al inicio de sesión y a la página de inicio de sesión, se cerrará la sesión de cualquier usuario que esté conectado en ese momento. Por ejemplo, si un usuario que ha iniciado sesión en la aplicación recibe un correo electrónico de su administrador que contenga los enlaces profundos golearn://preloginpage o golearn://loginpage y hace clic en ellos, se cerrará su sesión y se le redirigirá a la página previa al inicio de sesión, donde se le pedirá que vuelva a introducir sus credenciales.
Si no se mete ningún parámetro de Dominio en el enlace profundo y no hay una URL anterior de la plataforma guardada en el estado de la aplicación, la aplicación navegará a la página previa al inicio de sesión.
Páginas de aplicaciones
También puedes navegar directamente a la página Todos los canales, a la página Mi canal, a la página Mis cursos y mis planes de aprendizaje, a la página Todos los catálogos y a la página Cursos sin conexión. También puedes navegar a las páginas personalizadas de tu widget.
golearn://allchannelspage, golearn://mychannelpage, golearn://mycoursespage, golearn://catalog y golearn://offlinecontentpage abren la aplicación y navegan a la página correspondiente. Para navegar a las páginas personalizadas del widget, el enlace profundo sería golearn://pages/{page_id}. Encontrarás el ID de página en la barra de direcciones de tu navegador de escritorio (por ejemplo, el ID de página en este caso es «53»: https://lyceum.docebosaas.com/pages/53/my-dashboard). Cada uno de estos URI se puede combinar a discreción con los parámetros opcionales Dominio y Token para proporcionar autenticación.
El enlace profundo golearn://learn navega a la página predeterminada de la aplicación Go.Learn (puede ser la página Todos los canales o la página Mis cursos y mis planes de aprendizaje, en función de la página que establecieras como página predeterminada al abrir la aplicación).
Navegación por el contenido
Los enlaces profundos pueden llevar a contenidos formales e informales. Recuerda que, si defines un objeto para el que quizá un usuario determinado no tenga permisos de acceso, aparecerá un mensaje contextual en una ventana emergente (por ejemplo: «No tienes permisos para acceder a este curso/material de formación/activo»). Recuerda también que solo puedes crear enlaces profundos directos a materiales de formación completos, no a marcadores de tiempo ni a una página específica de un activo.
Contenido formal
También puedes crear enlaces profundos que lleven a cursos específicos o a sesiones de FGP (formación guiada por un profesor) o de FVGP (formación virtual guiada por un profesor), a planes de aprendizaje, al material de formación de un curso y a catálogos, como se muestra en los siguientes ejemplos:
Cursos: en una plataforma de escritorio, la URL https://demo.docebosaas.com/learn/course/{course_id} se puede convertir en golearn://course/{course_id} («course_id» es el ID único que puedes ver en la URL de un curso; recuerda que puede ser cualquier tipo de curso). Además, puedes hacerlo a través de una llamada a una API. Consulta los artículos relacionados con las API para obtener más información.
Cursos de sesiones de FGP/FVGP: en una plataforma de escritorio, la URL https://demo.docebosaas.com/learn/course/{course_id}/session/{session_id}/{session_name} se puede convertir en golearn:/course/{course_id}/session/{session_id} («course_id» es el ID único que puedes ver en la URL de un curso y «session_id» es el ID de la sesión FGP/FVGP que puedes ver en la URL). Además, puedes hacerlo a través de una llamada a una API. Consulta los artículos relacionados con las API para obtener más información.
Planes de aprendizaje: en una plataforma de escritorio, la URL https://demo.docebosaas.com/learn/lp/{learning_plan_id}/docebo-plan se puede convertir en golearn://lp/{learning_plan_id} («learning_plan_id» es el ID único que puedes ver en la URL de un curso).
Material de formación: en una plataforma de escritorio, la URL https://demo.docebosaas.com/learn/course/{course_id}/play/{lo_id}/how-to se puede convertir en golearn://course/{course_id}/play/{lo_id} («course_id» es el ID único del curso que puedes ver en la URL de un curso y «lo_id» es el ID del material de formación que puedes ver en la URL).
Catálogos: en una plataforma de escritorio, la URL https://demo.docebosaas.com/learn/catalog/view/{catalog_id} se puede convertir en golearn://catalog/{catalog_id} («catalog_id» es el ID de catálogo que se puede ver en una URL del catálogo).
Contenido informal
También puedes crear enlaces profundos que lleven a contenidos informales, como activos informales específicos compartidos por otros usuarios y expertos o listas de reproducción.
Activos: en una plataforma de escritorio, la URL https://demo.docebosaas.com/share/asset/view/{asset_id} se puede convertir en golearn://asset/view/{asset_id} («asset_id» es el ID único que puedes ver en la URL de un activo).
Listas de reproducción: en una plataforma de escritorio, la URL https://demo.docebosaas.com/share/playlist/{playlist_id} se puede convertir en golearn://playlist/{playlist_id} («playlist_id» es el ID único que puedes ver en la URL de un curso).
Parámetros de acceso
Los parámetros opcionales de Dominio y de Token están disponibles para simplificar los procesos de acceso y de inicio de sesión. De hecho, mediante el uso de estos parámetros, puedes especificar directamente la URL de la plataforma en la que quieres iniciar sesión y el portador de las credenciales que se utilizarán para iniciar sesión en el enlace profundo.
El parámetro Dominio
El parámetro Dominio contiene la URL de la plataforma codificada en formato Base64. golearn://allchannelspage?domain=bXlwbGF0Zm9ybS5kb2NlYm9zYWFzLmNvbQ== navega a la página Todos los canales de la aplicación en la plataforma myplatform.docebosaas.com.
Nota: Si el usuario de Go.Learn ya hubiera iniciado sesión en la plataforma en cuestión, Go.Learn navegaría directamente a la página especificada en la sección Ruta de destino del enlace profundo. Si ningún usuario hubiera iniciado sesión, Go.Learn navegaría a la página de inicio de sesión en la URL especificada de la plataforma. A continuación, si el inicio de sesión se lleva a cabo correctamente, navegará a la página especificada en la sección Ruta de destino del enlace profundo.
Si un usuario estuviera conectado en ese momento, pero en una plataforma diferente, entonces se desconectaría a dicho usuario y Go.Learn navegaría a la página de inicio de sesión en la URL especificada de la plataforma. Por último, si el inicio de sesión se lleva a cabo correctamente, navegará a la página especificada en la sección Ruta de destino del enlace profundo.
Ten en cuenta, además, que en una aplicación móvil de marca con dominio fijo, el parámetro Dominio se ignorará. Puedes prescindir de este parámetro, ya que no se utilizará.
El parámetro Token
El parámetro Token debe ser un token JWT que contenga la autorización para acceder a la plataforma. Aprende a crear un token JWT adecuado. No olvides que, si utilizas un dominio personalizado, debes incluir el dominio original del SAAS (software como servicio) de Docebo como nombre de host en el campo «aud» (audiencia) del token JWT.
golearn://allchannelspage?token=eyJhbGc.jM5MDIyf.EowmOx6Iy&domain=bXlwbGF0Zm9ybS5kb2NlYm9zYWFzLmNvbQ==navega a la página Todos los canales de la aplicación en la plataforma myplatform.docebosaas.com utilizando las credenciales especificadas en el token JWT del parámetro Token.
Recuerda que el parámetro Token debe contener la cadena JWT y que la clave de acceso no es un valor válido para este parámetro.
Conversión de enlaces heredados en enlaces profundos
Consulta la tabla a continuación para conocer la lista de enlaces antiguos heredados y cómo se convierten en los nuevos enlaces correspondientes para su uso en dispositivos móviles:
Prácticas recomendadas
Por razones de seguridad, es importante que no se incrusten enlaces profundos en un documento HTML estático. Por el contrario, se recomienda navegar a enlaces profundos como resultado de una función que solicite que el enlace profundo provenga del lado del servidor.
No todas las ID que se usan para componer un enlace profundo son inamovibles. Si crees que el ID de un objeto puede cambiar con el tiempo, es mejor generar el enlace profundo sobre la marcha usando funciones.