Para habilitar los Enlaces Universales en iOS y los Enlaces de Aplicaciones en Android, necesita alojar dos archivos JSON específicos en su servidor web:
apple-app-site-association(AASA) para iOS: Este archivo le dice a iOS qué rutas en su sitio web deben ser manejadas por su aplicación iOS.assetlinks.jsonpara Android: Este archivo le dice a Android qué rutas en su sitio web deben ser manejadas por su aplicación Android.
Servir estos archivos correctamente es crucial para que los enlaces profundos funcionen sin problemas.
1. Alojamiento del archivo apple-app-site-association (AASA) para iOS
-
Contenido del archivo: El archivo AASA es un archivo JSON que mapea las rutas de su sitio web a su aplicación. Una estructura común se ve así:
json { "applinks": { "apps": [], "details": [ { "appID": "TEAM_ID.com.yourcompany.yourapp", "paths": [ "/app/*", "/links/to/content/*", "*" ] } ] } }* ReemplaceTEAM_ID.com.yourcompany.yourappcon el identificador único de su aplicación (Team ID seguido de su ID de paquete de aplicación). * El arraypathsespecifica qué rutas de URL en su sitio web deben ser manejadas por la aplicación."*"significa todas las rutas. -
Requisitos de alojamiento:
- Ubicación: El archivo debe alojarse en la raíz de su dominio o en el directorio
.well-known. Por ejemplo:https://yourdomain.com/.well-known/apple-app-site-associationhttps://yourdomain.com/apple-app-site-association(menos común ahora)
- HTTPS: El archivo debe servirse a través de HTTPS.
- Tipo MIME: El encabezado
Content-Typedebe serapplication/jsonoapplication/json; charset=utf-8. - Sin redirecciones: El archivo AASA en sí mismo no debe ser redirigido.
- Ubicación: El archivo debe alojarse en la raíz de su dominio o en el directorio
-
Verificación: Los dispositivos iOS descargan este archivo cuando su aplicación está instalada. Puede probar su accesibilidad utilizando la Herramienta de validación de Apple o simplemente intentando acceder a la URL en Safari.
2. Alojamiento del archivo assetlinks.json para Android
-
Contenido del archivo: El archivo
assetlinks.jsoncontiene información sobre su aplicación y el sitio web al que está asociada.json [ { "relation": [ "delegate_permission/common.handle_all_urls" ], "target": { "namespace": "android.app", "package_name": "com.yourcompany.yourapp", "sha256_cert_fingerprints": [ "YOUR_APP_SHA256_FINGERPRINT" ] } } ]* Reemplacecom.yourcompany.yourappcon el nombre del paquete de su aplicación. * ReemplaceYOUR_APP_SHA256_FINGERPRINTcon la huella digital SHA256 del certificado de firma de su aplicación (puede obtenerla de su almacén de claves o herramientas de compilación). -
Requisitos de alojamiento:
- Ubicación: El archivo debe alojarse en
https://yourdomain.com/.well-known/assetlinks.json. La ruta.well-knownes obligatoria. - HTTPS: El archivo debe servirse a través de HTTPS.
- Tipo MIME: El encabezado
Content-Typedebe serapplication/jsonoapplication/json; charset=utf-8.
- Ubicación: El archivo debe alojarse en
-
Verificación: Los dispositivos Android verifican este archivo para validar la asociación. Puede usar el Validador de API de Google Asset Link para verificar su archivo
assetlinks.json.
3. Mejores prácticas de configuración del servidor
- Servicio de archivos estáticos: Configure su servidor web (por ejemplo, Nginx, Apache o el servicio de alojamiento estático de su proveedor de la nube) para servir estos archivos JSON directamente.
- Caché: Tenga cuidado al almacenar en caché estos archivos. Si bien el almacenamiento en caché puede mejorar el rendimiento, también puede retrasar la propagación de los cambios si actualiza su aplicación o la asociación del sitio web. A menudo se recomienda establecer una duración de caché corta o deshabilitar el almacenamiento en caché para estos archivos específicos.
- Tipo de contenido: Asegúrese de que se establezca el encabezado
Content-Typecorrecto. - Accesibilidad: Asegúrese de que estos archivos sean accesibles públicamente sin requerir autenticación.
Al alojar correctamente estos archivos de asociación, habilita los Enlaces Universales y los Enlaces de Aplicaciones, brindando una experiencia más fluida e integrada para sus usuarios.