feat(android): zweiter App-Link-Host fuer einen Domainwechsel

Der Host eingehender Links steht fest im Manifest, ein Domainwechsel brauchte
also zwingend ein neues APK und liess alte Links sofort ins Leere laufen. Mit
-PnovasonicHost2= laesst sich waehrend des Umzugs eine zweite Adresse angeben;
ohne Angabe wird der erste Host wiederholt. Bewusst kein Platzhalter-Host als
Vorgabe: auf Android 11 und aelter verifiziert das System nur, wenn ALLE Hosts
eine gueltige assetlinks.json liefern — ein toter Eintrag wuerde alle blockieren.
Am zusammengefuehrten Manifest geprueft, beide Hosts landen darin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-06 03:47:35 +02:00
1 parent 430ecdc737
commit a89e2974bc
3 files changed
+33 -2

No files matched your search

+23
View File
@@ -40,6 +40,29 @@ keytool -list -v -keystore <dein-keystore>.jks -alias <alias> | grep SHA256
Die Datei muss unter `https://<deine-web-adresse>/.well-known/assetlinks.json` erreichbar sein —
sie liegt im `public/`-Verzeichnis und wird vom Frontend-Image mit ausgeliefert.
## Domain wechseln
**Ausgehende Links** folgen der Einstellung „NovaSonic Web-Adresse" — Adresse ändern, fertig, kein
neues APK nötig.
**Eingehende Links** stehen fest im Manifest und brauchen ein neues APK. Damit während des Umzugs
beide Adressen funktionieren, lassen sich zwei Hosts angeben:
```bash
./gradlew assembleRelease -PnovasonicHost=neu.example.com -PnovasonicHost2=alt.example.com
```
Beide müssen eine gültige `assetlinks.json` ausliefern. Das ist keine Feinheit: **auf Android 11 und
älter verifiziert das System nur, wenn ALLE angegebenen Hosts eine passende Datei liefern** — ein
toter Host blockiert also auch den funktionierenden. Sobald die alte Domain abgeschaltet wird, das
APK deshalb ohne `novasonicHost2` neu bauen.
Wildcards (`*.example.com`) sind für App Links nicht dokumentiert und werden hier bewusst nicht
verwendet — die Verifikation läuft pro Host.
Bereits verschickte Links auf die alte Domain öffnen nach deren Abschaltung gar nichts mehr; das
lässt sich nur mit einer Weiterleitung von alt nach neu abfangen.
Prüfen lässt sich das Ergebnis mit:
```bash