Sie haben mehr Kontrolle über das Branding Ihrer Dynamic Links, wenn Sie anstelle einer page.link-Subdomain Ihre eigene
Domain verwenden. 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 und enthält sowohl Ihre benutzerdefinierte Dynamic Link Domain als auch ein Pfadpräfix. Sie müssen ein URL-Präfix angeben, wenn Sie Dynamic Links erstellen.
Zum Einrichten einer benutzerdefinierten Domain ist die Berechtigung „Bearbeiter“ oder „Inhaber“ für Ihr Firebase-Projekt erforderlich.
Webdomain für Dynamic Links verwenden
Sie können dieselbe Domain für Ihre Dynamic Links und Ihre Webseiten, universellen Links und App-Links verwenden. In diesem Fall müssen Sie jedoch darauf achten, 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 URLs mit diesem Präfix also nicht verwenden, um auf gewöhnliche gehostete Inhalte zu verweisen.
Wenn Sie beispielsweise einen Dynamic Link zur Ressource
https://example.com/my-resource (eine Webseite, ein universeller Link oder ein 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 sonst als Dynamic Link behandelt wird.
Stattdessen müssen Sie ein URL-Präfix mit einer anderen Domain oder einem anderen Pfadpräfix verwenden.
Die folgenden Dynamic Links im Langformat Dynamic Links (und die entsprechenden Kurzlinks) funktionieren nicht wie
erwartet, da die URLs, die durch den Parameter link angegeben werden, 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 im Langformat Dynamic Links (und die entsprechenden Kurzlinks) können jedoch funktionieren,
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
In der Regel können Sie eine benutzerdefinierte Domain vollständig in der Firebase Konsole einrichten. Anleitung:
Wenn Sie Firebase Hosting noch nicht für Ihr Projekt eingerichtet haben, öffnen Sie die Hosting Seite der Firebase Konsole, klicken Sie auf Jetzt starten und folgen Sie der Einrichtungsanleitung. Sie müssen die angegebenen Schritte jetzt nicht ausführen.
Öffnen Sie die Dynamic Links Seite der Firebase Konsole.
Wenn Sie Dynamic Links noch nicht verwendet haben, klicken Sie auf Jetzt starten. Klicken Sie andernfalls im Drop-down-Menü auf URL-Präfix hinzufügen.
Folgen Sie der Anleitung im Einrichtungsassistenten und geben Sie bei Aufforderung die gewünschte Domain und das gewünschte Pfadpräfix an.
Nur iOS: Erstellen Sie in der Datei
Info.plistIhres Xcode-Projekts einen Schlüssel mit dem NamenFirebaseDynamicLinksCustomDomainsund 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, 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 verbunden ist, müssen Sie Ihre benutzerdefinierte Domain manuell einrichten.
Anleitung:
Verbinden Sie Ihre Domain mit Firebase Hosting falls noch nicht geschehen.
Beim Einrichten Ihrer Domain mit Firebase Hosting wird die Konfigurationsdatei
firebase.jsonin Ihrem lokalen Projektverzeichnis erstellt.Aktualisieren Sie auf die neueste Version der Firebase CLI (Version 6.5.0 oder höher).
Konfigurieren Sie Ihre Hosting Website für Dynamic Links in der Datei
firebase.jsonIhres Projekts. Wenn Ihr Projekt mehrere Websites hat, konfigurieren Sie die Website, die mit der Domain verbunden ist, die Sie verwenden möchten.Legen Sie
appAssociationaufAUTOfest. Mit dieser Einstellung generiert Hosting dynamischassetlinks.jsonundapple-app-site-associationDateien, wenn sie angefordert werden.Geben Sie die Pfadpräfixe an, die Sie für Dynamic Links verwenden möchten, indem Sie Umschreiberegeln festlegen, bei denen
dynamicLinksauftruegesetzt ist. Anfragen an diese Pfade werden an Dynamic Linksweitergeleitet.Im Gegensatz zu Regeln, die Pfade in URLs umschreiben, können Dynamic Link Umschreiberegeln keine regulären Ausdrücke enthalten.
Wenn Sie mehrere Umschreiberegeln für Ihre Website haben, wird in Hosting die erste Umschreiberegel ausgeführt, die der Anfrage entspricht.Hosting
Beispiel:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }Mit der oben genannten 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 einen Quellpfad von
/**verwenden, um Dynamic Links ohne Pfadpräfix zu erstellen:{ "source": "/**", "dynamicLinks": true }Mit der oben genannten Regel können Sie Dynamic Links wie im folgenden Beispiel erstellen:
https://your-domain/link-suffix
Stellen Sie Ihre Hosting Konfigurationsänderungen bereit:
firebase deploy --only hosting
(Optional) Sie können die bereitgestellten
firebase.jsonInhalte mit der Hosting REST API prüfen.Nur iOS: Erstellen Sie in der Datei
Info.plistIhres Xcode-Projekts einen Schlüssel mit dem NamenFirebaseDynamicLinksCustomDomainsund 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 für das Hosting besonders wichtig.
- Achten Sie darauf, dass Ihr Dynamic Links URL-Präfix nicht mit Hosting-Konfigurationen mit höherer Priorität in Konflikt steht. Gehostete statische Inhalte haben beispielsweise immer Vorrang vor Umschreibungen.
- Innerhalb des Attributs
rewriteswird in der Hosting Antwort die Regel befolgt , die durch den erstensourceGlob angegeben wird, der den angeforderten Pfad erfasst.
Wenn Sie beispielsweise einen Dynamic Link für
your-domain/source-path/link-suffix
einrichten, aber auch statische Inhalte unter
your-domain/source-path/index.htmlhaben, haben die
statischen Inhalte Vorrang. Ein Endnutzer sieht dann index.html anstelle von
dem Dynamic Link. Wenn Sie statische Inhalte unter
your-domain/source-path/link-suffix, haben, sieht der Endnutzer ebenfalls die statischen Inhalte anstelle des Dynamic Link.
Wenn Sie für Dynamic Links und Hosting dasselbe Branding verwenden möchten, können Sie eine der folgenden Optionen für das Dynamic Links URL-Präfix verwenden:
Legen Sie das Attribut
sourceso fest, dass es einem Pfadpräfix entspricht. Wenn Sie beispielsweise eine benutzerdefinierte Domainexample.comhaben, könnte Ihre Umschreiberegel 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 Attribut
sourceso fest, dass es dieser Subdomain entspricht. Wenn Sie beispielsweise eine Subdomainlinks.example.comhaben, könnte Ihre Umschreiberegel so aussehen:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]