Encontrarse con el error ERR_UNKNOWN_URL_SCHEME puede suponer un contratiempo en el funcionamiento fluido y la experiencia de usuario de una aplicación Android, sobre todo cuando se incorpora contenido web directamente dentro de la aplicación mediante WebView.
Este error suele aparecer cuando la aplicación intenta acceder o mostrar una página web con un esquema de URL que el dispositivo móvil no reconoce o no admite, lo que provoca frustración tanto en los desarrolladores como en los usuarios.
Say goodbye to website errors
Achieve peace of mind with 99.99% uptime on 10Web Managed
WordPress Hosting, powered by Google Cloud.
Comprender el error ERR_UNKNOWN_URL_SCHEME
El quid del error ERR_UNKNOWN_URL_SCHEME reside en la interacción entre la aplicación y el contenido web a través de WebView, un componente que permite mostrar páginas web directamente dentro de la aplicación.
Sin embargo, cuando WebView encuentra una URL con un esquema distinto de los conocidos ‘http://’ o ‘https://’, como ‘mailto://’, ‘telnet://’, o esquemas personalizados como ‘app://’, puede que no sepa cómo procesar estas peticiones, lo que provoca el error mencionado.
¿Qué es WebView?
WebView es un componente fundamental para las aplicaciones Android, que permite a los desarrolladores incluir contenido web como parte del diseño de la aplicación.
En lugar de redirigir a los usuarios a un navegador web, WebView muestra las páginas web directamente dentro de la aplicación.
Esta integración garantiza que los usuarios disfruten de una experiencia de usuario consistente, sin la interrupción de cambiar entre la aplicación y un navegador externo.
A pesar de su capacidad para representar páginas web, WebView carece intencionadamente de toda la gama de funciones que se encuentran en un navegador web independiente.
Los usuarios no encontrarán una barra de búsqueda, controles de navegación ni otras funcionalidades específicas de un navegador.
Sin embargo, WebView se centra en mostrar el contenido web sin interrupciones, garantizando que la experiencia de la aplicación principal siga siendo fluida e ininterrumpida.
El reto de los errores ERR_UNKNOWN_URL_SCHEME
Aunque la Vista Web abre nuevas posibilidades para integrar contenidos web, no está exenta de dificultades.
Un problema notable que pueden encontrar los desarrolladores es el error ERR_UNKNOWN_URL_SCHEME.
Este error surge cuando WebView intenta procesar una URL con un esquema que el dispositivo móvil no reconoce de forma nativa, como ‘mailto://’, ‘whatsapp://’ o ‘file://’.
Estos esquemas de URL no estándar pueden alterar el comportamiento previsto de WebView, provocando un mensaje de error en lugar del contenido web deseado.
La utilidad de WebView en las aplicaciones nativas es innegable, pero su funcionalidad está adaptada para manejar principalmente los esquemas de URL estándar ‘https://’ y ‘http://’.
Cuando los desarrolladores o los usuarios se encuentran con el error ERR_UNKNOWN_URL_SCHEME, esto indica un desajuste entre las capacidades de WebView y el esquema de URL solicitado.
Causas de los errores ERR_UNKNOWN_URL_SCHEME
El error suele deberse a una de estas dos situaciones:Esquemas de URL no estándar: WebView tiene problemas con los esquemas de URL fuera de los convencionales ‘http://’ y ‘https://’. Los esquemas como ‘mailto://’, ‘whatsapp://’ e ‘intent://’ están diseñados para acciones específicas (por ejemplo, abrir un cliente de correo electrónico o iniciar un mensaje de WhatsApp) y requieren un manejo especializado dentro del código de la aplicación para funcionar correctamente en WebView.
URL redirigidas e integración OAuth: Otro desencadenante habitual del error ERR_UNKNOWN_URL_SCHEME es cuando se redirige a un usuario a una URL que emplea un esquema no reconocido.
Del mismo modo, la integración de la autenticación OAuth con tarjetas Chrome personalizadas puede provocar este error si el URI de redirección utiliza un esquema no admitido por WebView.
Mitigar las advertencias ERR_UNKNOWN_URL_SCHEME
Para los desarrolladores, abordar el error ERR_UNKNOWN_URL_SCHEME implica una comprensión matizada de los esquemas de URL y de las limitaciones de WebView.
Es crucial implementar prácticas específicas de codificación de URL para manejar o evitar con elegancia los esquemas no estándar.
Esto puede incluir configurar la aplicación para abrir determinados enlaces en un navegador externo o incorporar filtros de intención para gestionar cómo se procesan estas URL.
Say goodbye to website errors
Achieve peace of mind with 99.99% uptime on 10Web Managed
WordPress Hosting, powered by Google Cloud.
Solución de errores ERR_UNKNOWN_URL_SCHEME
Abordar este error requiere un enfoque dual, centrado tanto en soluciones front-end para los usuarios como en correcciones back-end para los desarrolladores:
Para los usuarios finales:
Desactivar las extensiones de Chrome
- Abre Chrome y navega hasta `chrome://extensions/`.
- Desactiva temporalmente todas las extensiones pulsando el interruptor situado en la esquina inferior derecha de cada tarjeta de extensión.
- Si el error desaparece, vuelve a activar las extensiones una a una para identificar a la culpable, y luego elimínala o actualízala.
Borra la caché y las cookies de Chrome
- Ve a Configuración de Chrome > Más herramientas > Borrar datos de navegación.
- Elige« Imágenes y archivosalmacenados en caché » (y «Cookies y otros datos del sitio» si lo deseas).
- Selecciona el intervalo de tiempo y pulsa «Borrar datos».
Desactiva la aceleración por hardware
- En la Configuración de Chrome, desplázate hasta la sección Sistema.
- Desactiva «Usar la aceleración por hardware cuando esté disponible».
- Reinicia Chrome para aplicar los cambios.
Desactiva el cortafuegos
Para Windows:
- Pulsa `Win + R`, escribe `control` y pulsa Intro para abrir el Panel de control.
- Haz clic en «Sistema y seguridad» y, a continuación, en «Firewall de Windows Defender».
- En la barra lateral izquierda, encontrarás una opción llamada «Activar o desactivar el Firewall de Windows Defender».
Haz clic en ella.
- Verás tu configuración de red dividida en «Configuración de red privada» y «Configuración de red pública».
Para desactivar el cortafuegos, marca las casillas debajo de cada sección que dicen «Desactivar el cortafuegos de Windows Defender (no recomendado)».
- Pulsa «Aceptar» para guardar los cambios.
Recuerda que desactivar el cortafuegos puede hacer que tu dispositivo sea más vulnerable a accesos no autorizados.
Vuélvelo a activar siempre que termines de solucionar el problema.
Para macOS:
- Haz clic en el menú Apple de la esquina superior izquierda de tu pantalla y selecciona «Preferencias del Sistema».
- Busca y haz clic en «Seguridad y privacidad».
- En la ventana «Seguridad y Privacidad», ve a la pestaña «Cortafuegos».
- Pulsa el icono del candado en la parte inferior izquierda para realizar cambios.
Puede que tengas que introducir tu contraseña de administrador.
- Haz clic en «Desactivar cortafuegos» para desactivarlo.
- Vuelve a bloquear los ajustes pulsando de nuevo el icono de bloqueo.
Al igual que con Windows, recuerda volver a activar el cortafuegos una vez que hayas terminado de solucionar el problema para mantener seguro tu dispositivo.
Crear un nuevo perfil de usuario de Chrome
Crear un nuevo perfil de Chrome puede ayudar a aislar los problemas del navegador a un entorno de usuario específico, facilitando el diagnóstico de problemas como el error ERR_UNKNOWN_URL_SCHEME sin afectar a tu experiencia de navegación principal.
- Inicia el navegador Google Chrome en tu ordenador.
- Haz clic en el icono Perfil situado en la esquina superior derecha de la ventana de Chrome.
Puede que muestre tu foto de perfil actual o un icono predeterminado si no lo has personalizado.
- En el menú desplegable, haz clic en el botón «Añadir» o «+ Añadir» para empezar a crear un nuevo perfil.
- Se te pedirá que nombres el nuevo perfil.
También puedes elegir un color de tema y un avatar para distinguirlo de otros perfiles.
- Tienes la opción de iniciar sesión con una cuenta de Google, lo que sincronizará tus marcadores, historial, contraseñas y otros ajustes de Chrome en todos tus dispositivos.
Este paso es opcional; puedes elegir «Continuar sin una cuenta» para continuar.
- Una vez que hayas personalizado tu perfil, haz clic en «Listo».
Chrome abrirá una nueva ventana con el perfil recién creado.
- Para cambiar entre perfiles, haz clic en el icono de tu perfil en la barra de herramientas de Chrome y selecciona otro perfil de la lista.
Para desarrolladores:
Abrir la URL en una ventana nueva
Para los desarrolladores web, asegurarse de que los enlaces que requieren esquemas de URL específicos (no http/https) se abran en una ventana nueva puede a veces evitar el error:
<a href="your-custom-url-scheme://" target="_blank">Open in App</a>
Puede ser una solución temporal, pero ten en cuenta las implicaciones para la experiencia del usuario.
Añadir una nueva intención para aplicaciones Android
Si desarrollas para Android y utilizas WebView, anula `shouldOverrideUrlLoading` para manejar esquemas de URL específicos con una Intent:
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("http://") || url.startsWith("https://")) { return false; } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; }
Esto permite a tu aplicación abrir URLs con esquemas no reconocidos en la aplicación externa adecuada.
Desactivar esquemas de URL no estándar
Para evitar el error ERR_UNKNOWN_URL_SCHEME, puedes optar por restringir la carga de URL sólo a los esquemas http y https:
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("http://") || url.startsWith("https://")) { view.loadUrl(url); return true; } else { // Handle unknown URL scheme return false; } }
Maneja adecuadamente los esquemas de URL personalizados
Asegúrate de que tu aplicación o sitio web gestiona correctamente los esquemas de URL personalizados, especialmente si son esenciales para la funcionalidad de tu aplicación.
Esto puede implicar establecer filtros de intención para aplicaciones Android o configurar gestores de esquemas de URL para aplicaciones web.
Utiliza mecanismos alternativos para esquemas de URL personalizados
Implementa un mecanismo alternativo en caso de que falle la acción principal (como abrir una URL de esquema personalizada).
Esto puede hacerse detectando el error y redirigiendo al usuario a una página web o mostrando un mensaje que explique cómo completar manualmente la acción que el esquema de URL debía desencadenar.
Resumen
El error ERR_UNKNOWN_URL_SCHEME, aunque es principalmente un problema de desarrollo, también puede ser mitigado por los usuarios mediante pasos de solución de problemas del navegador.
Para los desarrolladores, comprender y aplicar soluciones como añadir intents específicos o modificar cómo se gestionan las URL dentro de WebView son pasos cruciales para crear una aplicación Android más sólida y fácil de usar.
Garantizar que el contenido web se renderiza sin problemas dentro de una aplicación no sólo mejora la UX, sino que también mantiene la integridad y funcionalidad de las características de la aplicación.
Say goodbye to website errors
Achieve peace of mind with 99.99% uptime on 10Web Managed
WordPress Hosting, powered by Google Cloud.