Le problème : deux façons de faire des deep links, une seule qui scale
Sur Android, tu as deux options pour ouvrir ton app depuis un lien : les schemas custom (monapp://page/detail) et les App Links (https://monapp.com/page/detail). La plupart des devs choisissent les schemas parce que c'est 10 minutes de setup. C'est une erreur.
Schemas custom : rapide à coder, fragile en prod
Tu enregistres monapp:// dans le AndroidManifest.xml, tu catches l'intent, ça marche en local. Sauf que :
- N'importe quelle autre app peut déclarer le même schema — conflits garantis
- Chrome 25+ bloque les schemas custom depuis des liens web
- Pas de fallback propre vers le Play Store si l'app n'est pas installée
- Aucune validation Google : zéro garantie que le lien t'appartient
En production, tu te retrouves avec un dialog "Ouvrir avec..." ou un lien mort. Sur ~62% des appareils Android actifs (Android 6+), c'est réparable — mais tu dois migrer.
App Links : la solution vérifiée par Google
Les App Links fonctionnent sur des URLs HTTPS normales. Google valide que tu contrôles le domaine via un fichier assetlinks.json servi à https://mondomaine.com/.well-known/assetlinks.json.
Configuration minimale :
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.monapp",
"sha256_cert_fingerprints": ["AA:BB:CC:..."]
}
}]
Résultat : clic sur https://mondomaine.com/detail/42 → ton app s'ouvre directement, sans dialog, sans ambiguïté. Si l'app n'est pas installée, le lien s'ouvre dans le navigateur.
Pourquoi ça compte pour tes short links
Si tu utilises shoort.xyz pour créer des liens courts, chaque redirect passe par un domaine intermédiaire. Pour que les App Links fonctionnent, ce domaine doit servir le bon assetlinks.json — ou configurer une redirection qui préserve l'intent Android.
shoort.xyz gère ce cas nativement : tu configures tes App Links une fois dans le dashboard, et toutes tes redirections iOS / Android / Web fonctionnent sans gérer l'infra toi-même. Côté iOS, les Universal Links suivent la même logique via apple-app-site-association.
La leçon
Les schemas custom, c'est de la dette technique qui se paie en UX dégradée. App Links + domaine vérifié + redirection intelligente via shoort.xyz : c'est la combinaison qui tient en prod.