¿Qué es un archivo AASA (asociación de sitios de aplicaciones Apple)?

Imagínate lo siguiente: quieres empezar con Universal Links en iOS y la documentación de Apple te solicitó que crees y alojes un archivo AASA. Entonces, ¿qué es un archivo AASA?

AASA (abreviatura de “apple-app-site-association” en inglés) es un archivo que se encuentra en tu sitio web y asocia el dominio de tu sitio web con tu aplicación nativa. En otras palabras, es una forma segura de demostrar la propiedad del dominio a iOS. Con los esquemas de URI, que eran la forma estándar de abrir aplicaciones en iOS hasta iOS 9, los desarrolladores de aplicaciones podían registrar cualquier esquema de URI de preferencia e iOS respondía a esos esquemas de URI abriendo aplicaciones sin ninguna verificación. Por ejemplo, si un desarrollador independiente registra el esquema de URI fb:// para una aplicación de prueba, no hay nada que lo impida, aunque la aplicación nativa de Facebook utiliza fb://. El archivo AASA permite que los enlaces universales sean únicos y seguros porque un desarrollador independiente no podrá alojar un archivo AASA en el dominio facebook.com.

Analicemos algunos aspectos básicos del archivo apple-app-site-association que te ayudarán a crearlo y alojarlo en tu dominio.

El archivo AASA contiene un objeto JSON con una lista de aplicaciones y las rutas de URL en el dominio que deben incluirse o excluirse como enlaces universales. Este es un ejemplo de un archivo AASA:

{

  “applinks”: {

    “apps”: [],

    “details”: [

      {

        “appID”: “3XXXXX9M83.io.branch-labs.Branchster”,

        “paths”: [ “NOT /e/*”, “*”, “/”, “/archives/201?/* ]

      }

    ]

  }

}

En el JSON de AASA, cada dominio específico de la aplicación contiene un diccionario de appID y rutas. Veamos qué es cada clave del objeto JSON de AASA:

  • applinks: debido a que el archivo AASA también puede usarse con otros fines (p. ej., credenciales web compartidas), el objeto applinks define la sección del archivo que utilizan Universal Links.
  • apps: la matriz de apps debe estar presente, pero siempre estará vacía.
  • appID: se crea combinando el ID de equipo* de tu aplicación (o el prefijo de la aplicación de Apple) y el identificador del paquete**. En el ejemplo anterior, 3XXXXX9M83 es el ID del equipo y io.branch-labs.Branchster es el ID del paquete.
  • rutas: matriz de cadenas que especifican qué rutas se incluyen o excluyen de la asociación. Puedes utilizar NOT (antes de la ruta, como en el ejemplo JSON anterior) para desactivar las rutas. En este caso, todos los enlaces de esta ruta se dirigirán a la web en lugar de abrir la aplicación. Puedes utilizar * como comodín para habilitar todas las rutas de un directorio y ? para que coincida con un solo carácter (/archives/201?/ ejemplo en el JSON de muestra). Ten en cuenta que estas cadenas distinguen entre mayúsculas y minúsculas y que las cadenas de consulta y los identificadores de fragmentos se ignoran.

* ¿No sabes cuál es tu ID de equipo? Dirígete a https://developer.apple.com/account y recupéralo en la sección de Membership (membresía).

**Para recuperar el ID del paquete, dirígete a tu proyecto de Xcode, selecciona el proyecto y luego la pestaña “General”.

Alojar el archivo AASA en tu dominio

Una vez que tengas listo el archivo AASA, puedes alojarlo en tu dominio en https://<<yourdomain>>/apple-app-site-association o en https://<<yourdomain>>/.well-known/apple-app-site-association.

Mientras alojas el archivo AASA, asegúrate de que el archivo AASA:

  • Está disponible a través de HTTPS.
  • Utiliza el tipo MIME application/json.
  • No tiene un .json añadido al nombre del archivo AASA.
  • Tiene un tamaño que no supera a 128 Kb (requisito en iOS 9.3.1 en adelante).
Dar soporte a varias aplicaciones en el mismo dominio

Puedes admitir varias aplicaciones en el mismo dominio. Para hacerlo, tienes que añadir un nuevo appID, diccionario de ruta a la matriz de detalles en el archivo AASA para que se parezca a lo siguiente:

{

  “applinks”: {

    “apps”: [],

    “details”: [

      {

        “appID”: “3XXXXX9M83.io.branch-labs.Branchster”,

        “paths”: [ “NOT /e/*”, “*”, “/”, “/archives/201?/* ]

      },

      {

         “appID”: “3ZZZZZ9M94.io.branch-test.Branch”,

         “paths”: [ “NOT /e/*”, “*”, “/”, “/archives/200?/* ]

      }

    ]

  }

}

Si dos o más aplicaciones se asocian con la misma ruta de contenido en el sitio web, el orden del diccionario de appID y rutas en la matriz de detalles determinará qué aplicación tendrá prioridad.

Dar soporte a dominios múltiples para la misma aplicación

Cada dominio con el que la aplicación debe ser compatible tiene que tener su propio archivo AASA. Si el contenido que muestran los dominios es diferente, entonces el contenido del archivo también será diferente para admitir las rutas respectivas. De lo contrario, se puede utilizar el mismo archivo AASA, pero tiene que ser accesible en todos los dominios compatibles. Ten en cuenta también que, aunque ejemplo.com y www.ejemplo.com puedan mostrar el mismo contenido, debes asegurarte de que el archivo AASA esté alojado en ambos dominios.

En Branch, nos dedicamos a los Deep Links y creamos un validador de AASA para ayudarte a crear tu archivo válido de AASA. Puedes encontrarlo aquí: https://branch.io/resources/aasa-validator/.

Si utilizas los enlaces de Branch, puedes omitir todos los pasos de creación, validación, alojamiento y gestión de un archivo AASA marcando una sola casilla en el panel de Branch. Nosotros nos encargamos de todo lo más avanzado.

Si no estás utilizando los enlaces de Branch, este es el momento de solicitar una demostración de Branch.

¿Cuál es el estado de la atribución de Android en 2022?

Consulta este seminario web para analizar en detalle lo que significa para la privacidad, la atribución y el ecosistema móvil de Android.

Mirar ahora

Branch proporciona las plataformas de medición y enlaces móviles líderes en la industria y ofrece soluciones que unifican la experiencia del usuario y la atribución en todos los dispositivos y canales. Branch fue seleccionada entre más de 100 000 aplicaciones desde 2014, incluidas Adobe, BuzzFeed, Yelp y muchas más, y mejoró las experiencias de más de 3000 millones de usuarios mensuales en todo el mundo. Obtén más información sobre Branch o comunícate con el equipo de ventas hoy.

Solicita una demostración de Branch

 

TO LEARN MORE ABOUT BRANCH'S
PRODUCTS AND SERVICES

Solicitar demonstración