Universelle Links auf iOS und App-Links auf Android ermöglichen es Benutzern, direkt von einem Link in Ihre App zu gelangen, ohne den Browser zu durchlaufen. Dies ist besonders nützlich, um die Benutzererfahrung zu verbessern und den Kontext von einer Webseite zu einer App beizubehalten. In diesem Leitfaden werden wir den Prozess der Einrichtung dieser Deep Links für eine Next.js-App mit Capacitor durchgehen.
Die Einrichtung von Deep Links erfordert nicht viel Code, aber einige Konfigurationen. Am Ende dieses Leitfadens werden Sie in der Lage sein, auf einen Link wie https://www.capgo.app/details/22
zu klicken und Ihre App wird sich auf der richtigen Seite öffnen, wenn sie installiert ist.
Next.js Deep Link Setup
Zunächst erstellen wir eine neue Next.js-App und eine Detailseite zum Testen:
Stellen Sie sicher, dass Ihre Bundle-ID in der capacitor.config.json-Datei korrekt eingestellt ist, da dies für die Einrichtung entscheidend ist:
Für das Routing verwendet Next.js dateibasiertes Routing, sodass wir durch die Erstellung einer Datei unter pages/details/[id].js
bereits unsere Wildcard-Route eingerichtet haben.
In pages/details/[id].js
können wir die ID aus der URL mithilfe des eingebauten Routers von Next.js abrufen:
Nun lassen Sie uns das appUrlOpen
-Ereignis mit Capacitor behandeln. Dieses Ereignis wird ausgelöst, wenn die App über ein benutzerdefiniertes URL-Schema geöffnet wird. Fügen Sie einen Listener in der Datei pages/_app.js
hinzu:
Dieser Code lauscht auf das appUrlOpen
-Ereignis und navigiert zur entsprechenden Route innerhalb Ihrer Next.js-App.
iOS-Konfiguration
Für iOS benötigen Sie eine App-ID mit aktivierten Associated Domains. Erstellen Sie eine apple-app-site-association-Datei mit folgendem Inhalt, wobei Sie YOURTEAMID
und com.yourbundle.id
durch Ihre tatsächliche Team-ID und Bundle-ID ersetzen:
Laden Sie diese Datei in das Verzeichnis .well-known
auf Ihrer Domain hoch, sodass sie unter https://www.capgo.app/.well-known/apple-app-site-association
zugänglich ist.
Fügen Sie in Xcode die Domain zu den Berechtigungen Ihrer App im Format applinks:capgo.app
hinzu.
Android-Konfiguration
Für Android App Links folgen Sie diesen Schritten:
- Generieren Sie eine Keystore-Datei, falls Sie noch keine haben.
- Ermitteln Sie den SHA256-Fingerabdruck aus dem Keystore.
- Erstellen Sie eine assetlinks.json-Datei mit Ihrem Paketnamen und SHA256-Fingerabdruck.
- Laden Sie diese Datei in das Verzeichnis
.well-known
auf Ihrer Domain hoch.
Fügen Sie in Ihrer AndroidManifest.xml
einen intent-filter
zum activity
-Element hinzu, das Deep Links behandelt:
Nachdem Sie die assetlinks.json
-Datei hochgeladen haben, können Sie sie mit dem Digital Asset Links-Tool von Google überprüfen. Wenn alles korrekt eingerichtet ist, sehen Sie ein grünes Häkchen.
Verwenden Sie die folgenden Befehle, um Ihre App zu erstellen und zu signieren:
Dies wird die signierte App auf Ihrem verbundenen Android-Gerät installieren.
Capacitor Configure für native Projekteinstellungen
Um native Projekteinstellungen zu automatisieren, sollten Sie das Capacitor Configure-Paket in Betracht ziehen. Installieren Sie es in Ihrem Projekt:
Erstellen Sie eine capacitor.config.yaml
-Datei im Stammverzeichnis Ihres Projekts:
Führen Sie das Configure-Tool mit dieser Konfiguration aus:
Dies wird die in der YAML-Datei angegebenen Einstellungen auf Ihre nativen Projekte anwenden.
Fazit
Die Einrichtung von Deep Links mit Capacitor für eine Next.js-App erfordert die Konfiguration Ihrer Domain und Projekteinstellungen sowohl für iOS als auch für Android. Während der Prozess Aufmerksamkeit für Details erfordert, ist er im Vergleich zu älteren Methoden optimiert und erfordert keine zusätzlichen Plugins. Stellen Sie sicher, dass Ihre Domain-Verifizierungsdateien korrekt bereitgestellt werden und überprüfen Sie sie mit den jeweiligen Plattform-Tools. Einmal eingerichtet, wird sich Ihre App nahtlos von Web-Links aus öffnen und bietet Ihren Benutzern einen reibungslosen Übergang vom Web zur App.