Wenn Sie Ihre eigene Domain anstelle einer page.link
-Subdomain verwenden, haben Sie mehr Kontrolle über das Branding Ihrer Dynamic Links. Mit benutzerdefinierten Domains können Sie Dynamic Links wie in den folgenden Beispielen erstellen:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
Der Teil der URL vor link-suffix wird als URL-Präfix bezeichnet. Er enthält sowohl Ihre benutzerdefinierte Dynamic Link-Domain als auch ein Pfadpräfix. Sie müssen beim Erstellen von Dynamic Links ein URL-Präfix angeben.
Zum Einrichten einer benutzerdefinierten Domain benötigen Sie die Berechtigung „Bearbeiter“ oder „Inhaber“ für Ihr Firebase-Projekt.
Webdomain für Dynamic Links verwenden
Sie können dieselbe Domain für Dynamic Links und Ihre Webseiten, universellen Links und App-Links verwenden. Achten Sie dabei jedoch darauf, dass Ihre Dynamic Link-URLs nicht mit Ihren Web-URLs in Konflikt stehen. Wenn Sie Dynamic Links so konfigurieren, dass ein bestimmtes URL-Präfix verwendet wird, werden alle URLs, die mit diesem Präfix beginnen, als Dynamic Links behandelt. Sie können also keine URLs mit diesem Präfix verwenden, um auf gewöhnlich gehostete Inhalte zu verweisen.
Wenn Sie beispielsweise einen Dynamic Link zur Ressource https://example.com/my-resource
(eine Webseite, einen universellen Link oder einen App-Link) erstellen möchten, können Sie https://example.com/
nicht als Dynamic Links-URL-Präfix verwenden, da https://example.com/my-resource
andernfalls als Dynamic Link behandelt wird.
Stattdessen müssen Sie ein URL-Präfix mit einer anderen Domain oder einem anderen Pfadpräfix verwenden.
Daher funktionieren die folgenden Dynamic Links-URLs im Langformat (und entsprechende Kurzlinks) nicht wie vorgesehen, da die vom link
-Parameter angegebenen URLs mit dem Dynamic Link-URL-Präfix https://example.com/
beginnen:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Die folgenden Dynamic Links-URLs im Langformat (und entsprechende Kurzlinks) funktionieren jedoch, da die URL-Präfixe nicht mit den link
-URLs in Konflikt stehen:
https://link.example.com/?link=https://example.com/my-resource https://example.com/links/?link=https://example.com/my-resource https://ex.amp.le/?link=https://example.com/my-resource
Benutzerdefinierte Domain in der Firebase-Konsole einrichten
Normalerweise können Sie eine benutzerdefinierte Domain vollständig in der Firebase-Konsole einrichten. Gehen Sie dazu so vor:
Wenn Sie Firebase Hosting noch nicht für Ihr Projekt eingerichtet haben, öffnen Sie die Seite Hosting der Firebase-Konsole, klicken Sie auf Jetzt starten und folgen Sie der Einrichtungsanleitung. Sie müssen die angegebenen Schritte derzeit nicht ausführen.
Öffne die Seite Dynamic Links der Firebase-Konsole.
Wenn Sie Dynamic Links noch nicht verwendet haben, klicken Sie auf Jetzt starten. Andernfalls klicken Sie im Drop-down-Menü auf URL-Präfix hinzufügen.
Schließen Sie dann den Einrichtungsassistenten ab und geben Sie die gewünschte Domain und das gewünschte Pfadpräfix an, wenn Sie dazu aufgefordert werden.
Nur iOS: Erstellen Sie in der Datei
Info.plist
Ihres Xcode-Projekts einen Schlüssel namensFirebaseDynamicLinksCustomDomains
und legen Sie ihn auf die Dynamic Links-URL-Präfixe Ihrer App fest. Beispiel:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Benutzerdefinierte Domain manuell einrichten
In einigen Fällen müssen Sie Ihre benutzerdefinierte Domain manuell einrichten, z. B. wenn Sie bereits eine benutzerdefinierte Domain für Dynamic Links eingerichtet haben und eine weitere Domain hinzufügen möchten, oder wenn Sie eine Domain hinzufügen, die bereits mit einer Hosting-Website verknüpft ist.
Anleitung:
Verbinden Sie Ihre Domain mit Firebase Hosting, falls Sie das noch nicht getan haben.
Wenn Sie Ihre Domain mit Firebase Hosting einrichten, müssen Sie die Konfigurationsdatei
firebase.json
in Ihrem lokalen Projektverzeichnis erstellen.Aktualisieren Sie die Firebase CLI auf die neueste Version (Version 6.5.0 oder höher).
Konfigurieren Sie Ihre Hosting-Website für Dynamic Links in der
firebase.json
-Datei Ihres Projekts. Wenn Ihr Projekt mehrere Websites hat, müssen Sie die Website konfigurieren, die mit der Domain verbunden ist, die Sie verwenden möchten.Setzen Sie
appAssociation
aufAUTO
. Bei dieser Einstellung generiert Hostingassetlinks.json
- undapple-app-site-association
-Dateien dynamisch, wenn sie angefordert werden.Geben Sie die Pfadpräfixe an, die Sie für Dynamic Links verwenden möchten, indem Sie Umschreibregeln mit
dynamicLinks
=true
festlegen. Anfragen an diese Pfade werden über einen Proxy an Dynamic Links weitergeleitet.Im Gegensatz zu Regeln, die Pfade in URLs umschreiben, dürfen Dynamic Link-Umschreibungsregeln keine regulären Ausdrücke enthalten.
Wenn Sie mehrere Umschreibregeln für Ihre Website haben, wird mit Hosting die erste Umschreibregel ausgeführt, die mit der Anfrage übereinstimmt.
Beispiel:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Mit der obigen Konfiguration können Sie Dynamic Links mit URL-Präfixen wie in den folgenden Beispielen erstellen:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Wenn Sie diese Domain nur für Dynamic Links verwenden, können Sie den Quellpfad
/**
verwenden, um Dynamic Links ohne Pfadpräfix zu erstellen:{ "source": "/**", "dynamicLinks": true }
Mit der obigen Regel können Sie Dynamic Links wie im folgenden Beispiel erstellen:
https://your-domain/link-suffix
Binden Sie die Hosting-Konfigurationsänderungen ein:
firebase deploy --only hosting
Optional: Sie können die bereitgestellten
firebase.json
-Inhalte mit der Hosting REST API prüfen.Nur iOS: Erstellen Sie in der Datei
Info.plist
Ihres Xcode-Projekts einen Schlüssel namensFirebaseDynamicLinksCustomDomains
und legen Sie ihn auf die Dynamic Links-URL-Präfixe Ihrer App fest. Beispiel:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Prioritätsreihenfolge für Dynamic Links und Hosting
Bei Dynamic Links ist die Prioritätsreihenfolge des Hostings besonders wichtig.
- Das Dynamic Links-URL-Präfix darf nicht mit Hostingkonfigurationen mit höherer Priorität in Konflikt stehen. Beispielsweise haben gehostete statische Inhalte immer Vorrang vor Überschreibungen.
- Innerhalb des
rewrites
-Attributs folgt die Hosting-Antwort der Regel, die durch das erstesource
-Globusmuster festgelegt ist, das den angeforderten Pfad erfasst.
Wenn Sie beispielsweise ein Dynamic Link für your-domain/source-path/link-suffix
einrichten, aber auch statische Inhalte unter your-domain/source-path/index.html
haben, haben die statischen Inhalte Vorrang. Ein Endnutzer sieht index.html
anstelle von Dynamic Link. Wenn Sie unter your-domain/source-path/link-suffix
statische Inhalte haben, sehen Endnutzer diese statt Dynamic Link.
Wenn du dasselbe Branding für Dynamic Links und Hosting verwenden möchtest, kannst du eine der folgenden Optionen für das Dynamic Links-URL-Präfix verwenden:
Legen Sie das
source
-Attribut so fest, dass es einem Pfadpräfix entspricht. Wenn Sie beispielsweise die benutzerdefinierte Domainexample.com
haben, könnte Ihre Umschreibregel so aussehen:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Richten Sie eine Subdomain für Dynamic Links ein und legen Sie dann das
source
-Attribut so fest, dass es mit dieser Subdomain übereinstimmt. Wenn Sie beispielsweise eine Subdomain vonlinks.example.com
haben, könnte Ihre Umschreibregel so aussehen:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]