Universal Links: o equivalente no iOS aos Android App Links¶
Os Universal Links são o equivalente no iOS aos Android App Links (também conhecidos como Digital Asset Links) e são usados para deep linking. Ao tocar em um universal link (que direciona para o site do app), o usuário será redirecionado perfeitamente para o aplicativo correspondente instalado, sem passar pelo Safari. Se o app não estiver instalado, o link será aberto no Safari.
Os Universal Links são links web padrão (HTTP/HTTPS) e não devem ser confundidos com os esquemas de URL personalizados (custom URL schemes), que originalmente também eram usados para deep linking.
Por exemplo, o app Telegram suporta tanto esquemas de URL personalizados quanto universal links:
tg://resolve?domain=fridadotreé um esquema de URL personalizado e usa o esquematg://.https://telegram.me/fridadotreé um universal link e usa o esquemahttps://.
Ambos resultam na mesma ação: o usuário será redirecionado para o chat especificado no Telegram ("fridadotre" neste caso). No entanto, os universal links oferecem diversos benefícios importantes que não se aplicam ao uso de esquemas de URL personalizados e são a forma recomendada de implementar deep linking, de acordo com a Documentação para Desenvolvedores da Apple. Especificamente, os universal links são:
- Únicos: Diferente dos esquemas de URL personalizados, os universal links não podem ser reivindicados por outros apps, pois usam links HTTP ou HTTPS padrão para o site do app. Eles foram introduzidos como uma forma de prevenir ataques de sequestro de esquemas de URL (um app instalado após o app original pode declarar o mesmo esquema, e o sistema pode direcionar todas as novas solicitações para o último app instalado).
- Seguros: Quando os usuários instalam o app, o iOS faz o download e verifica um arquivo (o Apple App Site Association ou AASA) que foi enviado para o servidor web para garantir que o site permite que o app abra URLs em seu nome. Apenas os proprietários legítimos da URL podem enviar este arquivo, portanto a associação do seu site com o app é segura.
- Flexíveis: Os universal links funcionam mesmo quando o app não está instalado. Clicar em um link para o site abriria o conteúdo no Safari, como os usuários esperam.
- Simples: Uma única URL funciona tanto para o site quanto para o app.
- Privados: Outros apps podem se comunicar com o app sem precisar saber se ele está instalado.
Você pode aprender mais sobre Universal Links na publicação "Aprendendo sobre Universal Links e Fuzzing de Esquemas de URL no iOS com Frida" de Carlos Holguera.