Primero, describamos qué son los ‘ enlaces profundos web ‘, luego pasaremos a ‘enlaces profundos móviles’. En pocas palabras, los enlaces profundos web son URL como la de esta pregunta (https://www.quora.com/Why-are-mobile-deep-links-different-from-web-deep-links) que cargan un HTML en particular página (esta pregunta) en una aplicación web (https://www.quora.com). La parte más profunda al respecto es la ruta adjunta a la aplicación web base. En el caso de esta pregunta, es ‘/ Why-are-mobile-deep-links-different-from-web-deep-links’. Entonces hay 3 componentes:
1. https: // – el esquema URI
2) www.quora.com : el nombre de dominio de la aplicación web
3) / Why-are-mobile-deep-links-different-from-web-deep-links : la ruta
La aplicación web alojada en http://quora.com recibirá todas las solicitudes del navegador, especificando la estructura URL completa. La mayoría de los marcos de aplicaciones web (Django o Flask, Ruby on Rails, Express for Node, etc.) interpretarán estas solicitudes y desglosarán los diferentes componentes. El desarrollador web crea una aplicación web que recibe la ruta, luego compila toda la información y los recursos gráficos para enviarlos de vuelta al navegador para su visualización. La tercera parte: la ruta es cómo se pasa la información a la aplicación web.
Ok, ahora tienes lo básico y entiendes cómo funciona un enlace profundo web. Ingrese los teléfonos móviles y el ecosistema de aplicaciones nativas. En Android 1.0 e iOS 2.0, los sistemas operativos exponen un mecanismo que permite que cualquier aplicación nativa instalada en el teléfono se registre para un esquema URI (número 1 en lo anterior). Un esquema de URI le dirá al sistema operativo qué aplicación abrir cuando se hace clic en el URI. Por ejemplo, como adivinaría, todas las aplicaciones de navegador (Chrome, Safari, Firefox, etc.) se registraron para http: // y https: //, Facebook se registró para fb: //, Twitter se registró para twitter: // y así sucesivamente . Luego, si alguien escribió twitter: // en el navegador o hizo clic en iMessage, la aplicación de Twitter se abriría si está instalada.
- ¿Qué es más fácil: crear un sitio web móvil o una aplicación móvil?
- ¿Existe alguna relación entre el método window.location.replace y el cambio de ruta a m.website.com?
- Cómo deshabilitar la regla CSS ': hover' para navegadores de dispositivos táctiles iPhone y iPad
- ¿Cuál es la diferencia entre un sitio web receptivo y un sitio móvil?
- ¿Cómo puedo depurar por qué el roaming internacional de datos no funciona?
Este proceso de registro ocurre localmente en el teléfono individual y ocurre cuando se instala una aplicación en el dispositivo pero no tiene un registro central global. Por ejemplo, podría compilar y publicar una aplicación que pueda registrarse en twitter: //. Luego, cada vez que se hace clic en el URI y mi aplicación se instala antes de Twitter, mi aplicación se abriría en lugar de la aplicación de Twitter.
La última parte de la complejidad se produce cuando el desarrollador de la aplicación móvil quiere manejar la ruta adjunta al esquema URI. Cada sistema operativo móvil ha creado diferentes mecanismos para entregar esta ruta en la aplicación. Depende del desarrollador pasar el tiempo creando el análisis de ruta y manejando los diversos casos extremos. Para empeorar las cosas, con mucho, la mayoría de las sesiones de la aplicación se producirán como resultado directo de hacer clic en el icono de la aplicación en la pantalla de inicio y no desde un enlace profundo. Por lo tanto, el desarrollador debe manejar mucha más complejidad que la aplicación web porque es muy frecuente que el usuario ingrese a la aplicación sin una ruta. Debido a esta complejidad, con frecuencia, habrá variaciones en el manejo desde un enlace profundo web y un enlace profundo de aplicación móvil.
Veamos un ejemplo de otra pregunta que acabo de responder, sobre Etsy.
Enlace profundo web móvil de Etsy:
https://www.etsy.com/listing/158511955/retro-high-waisted-bikini-bathing-suit
Enlace profundo de la aplicación móvil de Etsy:
etsy: // listado / 158511955
En este caso, puede ver que el esquema de URI para sus enlaces profundos cambia de https: // -> etsy: // cuando se mueven de la web a la aplicación. Además, en el caso del enlace profundo móvil, no hay necesidad de un nombre de dominio como (www.etsy.com), por lo que esto desaparece. Sin embargo, mantienen el camino igual.
Por último, como lo solicitó, aquí hay algunos consejos sobre cómo construir enlaces profundos para dispositivos móviles. Trabajo en Branch (https://branch.io) y pienso en el enlace móvil unas 18 horas al día.
1. Como puede ver, después de haber conectado su aplicación para enlaces profundos, hay dos enlaces separados: uno para la web y otro para la aplicación. El de la aplicación solo funcionará si la aplicación está instalada actualmente en el teléfono y no tiene forma de saber si lo está. Esto significa que en el teléfono, debe intentar abrir la aplicación con el enlace profundo de la aplicación, y luego recurrir al enlace web si no.
2. Pruebe su enrutamiento de enlace profundo en todos los navegadores, dispositivos y sistemas operativos. Android Chrome aprovecha un mecanismo diferente que Android Firefox. La vista web de Facebook en el Galaxy S4 debe manejarse de manera diferente a la vista web de Facebook en el Galaxy S5.
3. Asegúrese de crear soporte para todos los estándares de enlaces profundos en su sitio web móvil (enlaces de aplicaciones de Facebook, tarjetas de Twitter, indexación de aplicaciones de Google, etc., etc.). Estos diversos estándares hacen que su enlace web maneje el enrutamiento a su aplicación cuando se coloca en diferentes canales.
4. Aproveche sus esquemas de enlace profundo para nuevos usuarios con una solución de enlace profundo diferido. Puede usar una herramienta de huellas digitales para pasar su ruta de enlace profundo a través de la instalación para que los nuevos usuarios puedan beneficiarse de su enrutamiento de enlace profundo además de los usuarios existentes.
O, si no quieres profundizar con ninguna de estas cosas. Puedes usar una herramienta de enlace como Branch.