Flutter App Links & Universal Links: Automatisierte Domain-Validierung & CI-Deep-Link-Tests

Sicheres Deep-Linking über Android App Links und iOS Universal Links verhindert, dass Links von fremden Apps abgefangen werden.
Wir zeigen die Konfiguration der .well-known-Dateien, die Implementierung in Flutter mittels GoRouter und app_links sowie die automatische Validierung in der GitHub Actions CI-Pipeline.
Wichtigste Erkenntnisse
- Android App Links: Die
assetlinks.jsonmuss mitContent-Type: application/jsonausgeliefert werden und SHA-256-Fingerabdrücke enthalten.- iOS Universal Links: Die
apple-app-site-association(AASA) benötigt korrekteappID-Einträge (<TEAM_ID>.<BUNDLE_ID>).- Flutter Routing: Die Kombination aus
app_linksundGoRouterdeckt Kaltstarts und Hintergrund-Aufrufe ab.- CI-Automatisierung: Automatische Überprüfung der Erreichbarkeit und Validität in GitHub Actions.
1. CLI-Tests für Entwickler
-
Android CLI:
adb shell am start -a android.intent.action.VIEW \ -c android.intent.category.BROWSABLE \ -d "https://effidev.dev/product/456" -
iOS Simulator CLI:
xcrun simctl openurl booted "https://effidev.dev/product/456"
Fazit
Automatische Domain-Prüfungen in der CI garantieren die Zuverlässigkeit von App Links im Produktionsbetrieb.