# Teilen per Link Ein geteilter Link sieht so aus: ``` https:///?song= https:///?album= ``` Er trägt **nur die Id**, keine Zugangsdaten. Der Empfänger sieht den Inhalt mit seinem eigenen Navidrome-Konto auf derselben Instanz — wer dort keinen Zugang hat, sieht nichts. ## Web Funktioniert ohne weitere Einrichtung. Der Link wird beim Start ausgelesen (`?song=` / `?album=`), das Album geöffnet und der Song abgespielt; danach verschwindet der Parameter aus der Adresszeile, damit ein Neuladen nicht erneut startet. Als installierte PWA landet der Link dank `launch_handler: navigate-existing` im bereits offenen Fenster statt in einem neuen. ## Android Zwei Dinge sind nötig, damit ein Link **direkt in der App** landet statt im Browser: **1. Web-Adresse in der App hinterlegen** — Einstellungen → „NovaSonic Web-Adresse". Ohne sie erscheint der Teilen-Eintrag im Kontextmenü gar nicht erst, weil der Link sonst ins Leere zeigt. **2. Den Host beim Bauen mitgeben** und die Signatur hinterlegen: ```bash ./gradlew assembleRelease -PnovasonicHost=music.example.com ``` Dann den SHA-256 des **Release**-Signaturschlüssels ermitteln … ```bash keytool -list -v -keystore .jks -alias | grep SHA256 ``` … und in `public/.well-known/assetlinks.json` anstelle von `PLATZHALTER_RELEASE_SHA256` eintragen. Die Datei muss unter `https:///.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 adb shell pm get-app-links com.novasonic.app ``` Steht dort `verified`, öffnet Android die Links ohne Nachfrage. **Ohne diesen Schritt** ist der Link trotzdem nicht verloren: er öffnet im Browser die Web-App. Wer die App bevorzugt, kann sie in den Systemeinstellungen unter *Standardmäßig öffnen* → *Links* manuell für die Domain zulassen.