Sie können das Branding Ihrer Dynamic Links page.link
steuern, indem Sie Ihre eigene Domain anstelle einer page.link
Subdomain verwenden. Mit benutzerdefinierten Domänen können Sie dynamische 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 dem link-suffix wird als URL-Präfix bezeichnet und enthält sowohl Ihre benutzerdefinierte Dynamic Link-Domäne als auch ein Pfadpräfix. Sie müssen ein URL-Präfix angeben, wenn Sie dynamische Links erstellen.
Das Einrichten einer benutzerdefinierten Domain erfordert die Berechtigung eines Editors oder Eigentümers für Ihr Firebase-Projekt.
Verwenden Ihrer Webdomain für dynamische Links
Sie können dieselbe Domain für Ihre dynamischen Links und Ihre Webseiten, universellen Links und App-Links verwenden. In diesem Fall müssen Sie jedoch darauf achten, dass Ihre dynamischen 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 normalen gehosteten Inhalt zu verweisen.
Wenn Sie beispielsweise einen dynamischen 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 verwenden https://example.com/
als URL-Präfix für dynamische Links, da dies dazu führen würde, dass https://example.com/my-resource
als dynamischer Link behandelt wird. Stattdessen müssen Sie ein URL-Präfix mit einer anderen Domäne oder einem anderen Pfadpräfix verwenden.
Die folgenden dynamischen Langform-Links (und entsprechende Kurzlinks) funktionieren also nicht wie beabsichtigt, da die durch den link
Parameter angegebenen URLs mit dem URL-Präfix für dynamische Links ( https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Die folgenden dynamischen Langform-Links (und entsprechende 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
Richten Sie eine benutzerdefinierte Domäne in der Firebase-Konsole ein
Normalerweise können Sie eine benutzerdefinierte Domäne vollständig in der Firebase-Konsole einrichten. Um dies zu tun:
Wenn Sie Firebase Hosting nicht für Ihr Projekt eingerichtet haben, öffnen Sie die Hosting-Seite der Firebase-Konsole, klicken Sie auf Erste Schritte und klicken Sie sich durch die Setup-Anweisungen. Sie müssen die angegebenen Schritte zu diesem Zeitpunkt nicht ausführen.
Öffnen Sie die Seite Dynamische Links der Firebase-Konsole.
Wenn Sie Dynamic Links noch nicht verwendet haben, klicken Sie auf Erste Schritte . Andernfalls klicken Sie im Dropdown-Menü auf URL-Präfix hinzufügen.
Schließen Sie dann den Setup-Assistenten ab und geben Sie die Domäne und das Pfadpräfix an, die Sie verwenden möchten, wenn Sie dazu aufgefordert werden.
Nur iOS : Erstellen Sie in der
Info.plist
Datei Ihres Xcode-Projekts einen Schlüssel mit dem NamenFirebaseDynamicLinksCustomDomains
und setzen Sie ihn auf die URL-Präfixe Ihrer App für dynamische Links. Zum Beispiel:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Richten Sie eine benutzerdefinierte Domain manuell ein
In einigen Situationen, z. B. wenn Sie bereits eine benutzerdefinierte Domäne für dynamische Links eingerichtet haben und eine weitere Domäne hinzufügen möchten oder wenn Sie eine Domäne hinzufügen, die bereits mit einer Hosting-Site verbunden ist, müssen Sie Ihre benutzerdefinierte Domäne manuell einrichten.
Um dies zu tun:
Verbinden Sie Ihre Domain mit Firebase Hosting, falls Sie dies noch nicht getan haben.
Zum Einrichten Ihrer Domain mit Firebase Hosting gehört das Erstellen der Konfigurationsdatei
firebase.json
in Ihrem lokalen Projektverzeichnis.Aktualisieren Sie auf die neueste Version der Firebase-CLI ( Version 6.5.0 oder höher).
Konfigurieren Sie Ihre Hosting-Site für dynamische Links in der Datei
firebase.json
Ihres Projekts. Wenn Ihr Projekt mehrere Standorte hat, müssen Sie den Standort konfigurieren, der mit der Domäne verbunden ist, die Sie verwenden möchten.Setzen Sie
appAssociation
aufAUTO
. Mit dieser Einstellung generiert das Hosting dynamisch dieassetlinks.json
und "apple-app-site-association
, wenn sie angefordert werden.Geben Sie die
dynamicLinks
an, die Sie für dynamische Links verwenden möchten, indem Sie Umschreiberegeln festlegen, bei denendynamicLinks
auftrue
. Anforderungen an diese Pfade werden an dynamische Links weitergeleitet.Im Gegensatz zu Regeln, die Pfade zu URLs umschreiben, dürfen Dynamic Link-Umschreiberegeln keine regulären Ausdrücke enthalten.
Wenn Sie mehrere Umschreiberegeln für Ihre Site haben, beachten Sie, dass Hosting die erste Umschreiberegel ausführt, die der Anforderung entspricht.
Zum Beispiel:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Mit der obigen Konfiguration können Sie dynamische Links mit URL-Präfixen wie den folgenden Beispielen erstellen:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Wenn Sie diese Domäne nur für dynamische Links verwenden, können Sie einen Quellpfad von
/**
, um dynamische Links ohne/**
zu erstellen:{ "source": "/**", "dynamicLinks": true }
Mit der obigen Regel können Sie dynamische 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 den bereitgestellten Inhalt von
firebase.json
mithilfe der Hosting-REST-API überprüfen.Nur iOS : Erstellen Sie in der
Info.plist
Datei Ihres Xcode-Projekts einen Schlüssel mit dem NamenFirebaseDynamicLinksCustomDomains
und setzen Sie ihn auf die URL-Präfixe Ihrer App für dynamische Links. Zum Beispiel:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Prioritätsreihenfolge für dynamische Links und Hosting
Beachten Sie bei dynamischen Links insbesondere die Reihenfolge der Hosting-Prioritäten .
- Stellen Sie sicher, dass Ihr URL-Präfix für dynamische Links nicht mit Hosting-Konfigurationen mit höherer Priorität in Konflikt steht (beispielsweise haben gehostete statische Inhalte immer Vorrang vor Umschreibungen).
- Im
rewrites
Attribut wird die Hosting Antwort der Regel gehorchen bestimmten von der erstensource
glob , dass Captures der angeforderte Pfad.
Zum Beispiel, wenn Sie einen Dynamic Link für einzurichten your-domain / source-path / link-suffix
aber auch statische Inhalte zu haben your-domain / source-path /index.html
nehmen die statischen Inhalte Vorrang. Ein Endbenutzer sieht index.html
anstelle des dynamischen Links. Wenn Sie statischen Inhalt unter your-domain / source-path / link-suffix
, sieht der Endbenutzer den statischen Inhalt und nicht den dynamischen Link.
Wenn Sie für Dynamic Links und Hosting dasselbe Branding verwenden möchten, ziehen Sie eine der folgenden Optionen für Ihr URL-Präfix für Dynamic Links in Betracht:
Stellen Sie Ihr
source
, dass es mit einem Pfadpräfix übereinstimmt. Wenn Sie beispielsweise eine benutzerdefinierte Domain vonexample.com
, kann Ihre Umschreiberegel wie folgt lauten:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Richten Sie eine Sub - Domain für dynamische Links zu verwenden, dann stellen Sie Ihre
source
Attribut , das Sub - Domain entsprechen. Wenn Sie beispielsweise eine Subdomain vonlinks.example.com
, könnte Ihre Umschreiberegel lauten:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]