Catch up on everthing we announced at this year's Firebase Summit. Learn more

Richten Sie eine benutzerdefinierte Domäne für dynamische Links ein

Sie können eine größere Kontrolle über Ihre dynamischen Links haben Branding durch Ihre eigene Domain anstelle einer Verwendung page.link Sub - Domain. 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 , bevor link-suffix wird der URL - Präfix genannt und enthält sowohl Ihre benutzerdefinierten Dynamic Link Domain und einen Pfad - Präfix. Beim Erstellen dynamischer Links müssen Sie ein URL-Präfix angeben.

Das Einrichten einer benutzerdefinierten Domain erfordert die Berechtigung eines Editors oder Inhabers 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. Wenn Sie dies jedoch tun, müssen Sie darauf achten, dass Ihre dynamischen Link-URLs nicht mit Ihren Web-URLs in Konflikt geraten. Wenn Sie dynamische Links für die Verwendung eines bestimmten URL-Präfixes konfigurieren, werden alle URLs, die mit diesem Präfix beginnen, als dynamische Links behandelt, sodass Sie URLs mit diesem Präfix nicht verwenden können, um auf gewöhnlichen gehosteten Inhalt zu verweisen.

Zum Beispiel, wenn Sie eine Dynamic Link auf die Ressource erstellen möchten https://example.com/my-resource (eine Web - Seite, Universal - Link oder App - Link), können Sie nicht verwenden https://example.com/ als Präfix dynamische Link URL, weil so verursachen würde tun https://example.com/my-resource als Dynamic Link behandelt werden. Stattdessen müssen Sie ein URL-Präfix mit einer anderen Domäne oder einem anderen Pfadpräfix verwenden.

Also, die folgende Langform dynamische Links (und gleichwertige Links) nicht wie vorgesehen funktionieren , weil die URLs durch den angegebenen link Parameter Start mit dem Dynamic Link URL - Präfix, https://example.com/ :

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

Aber die folgende Langform dynamische Links (und gleichwertige Links) arbeiten kann, weil die URL - Präfixe keine Konflikte mit dem link - URLs:

 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 Domain in der Firebase-Konsole ein

Normalerweise können Sie eine benutzerdefinierte Domain vollständig in der Firebase-Konsole einrichten. Um dies zu tun:

  1. Wenn Sie nicht auf Firebase Hosting für Ihr Projekt festgelegt haben, öffnen Sie die Hosting - Seite der Firebase - Konsole, klicken Sie auf Erste Schritte, und klicken Sie sich durch den Installationsanweisungen. Sie müssen die angegebenen Schritte zu diesem Zeitpunkt nicht ausführen.

  2. Öffnen Sie die dynamische Seite mit Links der Firebase - Konsole.

  3. Wenn Sie dynamische Links noch nicht verwendet haben, klicken Sie auf Erste Schritte. Andernfalls klicken Sie auf Hinzufügen URL - Präfix aus dem Drop-Down - Menü.

    Schließen Sie dann den Setup-Assistenten ab und geben Sie bei Aufforderung die Domäne und das Pfadpräfix an, das Sie verwenden möchten.

  4. iOS nur: In Ihrem Xcode Projekt Info.plist Datei, ein Schlüssel namens erstellen FirebaseDynamicLinksCustomDomains und setzen Sie ihn auf Ihrer App dynamische Links URL - Präfixe. 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 Dynamic Links eingerichtet haben und eine weitere Domäne hinzufügen möchten, oder wenn Sie eine bereits mit einer Hosting-Site verbundene Domäne hinzufügen, müssen Sie Ihre benutzerdefinierte Domäne manuell einrichten.

Um dies zu tun:

  1. Verbinden Sie Ihre Domain - Hosting - Firebase , wenn Sie nicht bereits getan haben.

    Einrichten Ihrer Domain mit Hosting Firebase enthält die Konfigurationsdatei erstellt firebase.json in Ihrem lokalen Projektverzeichnis.

  2. Update auf die neueste Version der Firebase CLI (v6.5.0 oder höher).

  3. Konfigurieren Sie Ihre Hosting - Website für dynamische Links in Ihrem Projekt firebase.json Datei. Wenn Ihr Projekt über mehrere Sites verfügt, müssen Sie die Site konfigurieren, die mit der zu verwendenden Domäne verbunden ist.

    • Set appAssociation auf AUTO . Mit dieser Einstellung generiert dynamisch Hosting assetlinks.json und apple-app-site-association - Dateien , wenn sie angefordert werden.

    • Geben Sie den Pfad Präfixe für dynamische Links verwenden möchten , indem mit Rewrite - Regeln Einstellung dynamicLinks auf true . Anforderungen an diese Pfade werden an Dynamic Links weitergeleitet.

      Im Gegensatz zu Regeln, die Pfade zu URLs umschreiben, können Umschreibregeln für dynamische Links keine regulären Ausdrücke enthalten.

      Wenn Sie mehrere Rewrite-Regeln für Ihre Site haben, beachten Sie, dass Hosting die erste Rewrite-Regel ausführt, die der Anfrage 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äfixe wie die folgenden Beispiele erstellen

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    Wenn Sie diese Domain verwenden nur für dynamische Links können Sie einen Source - Pfad verwenden /** Dynamische Verbindungen ohne Pfadpräfix zu erstellen:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    Mit der obigen Regel können Sie dynamische Verknüpfungen wie im folgenden Beispiel erstellen:

    https://your-domain/link-suffix

  4. Stellen Sie Ihre Hosting - Konfigurationsänderungen:

    firebase deploy --only hosting

    (optional) Sie können den Einsatz überprüfen firebase.json Inhalt der Verwendung von Hosting - REST - API .

  5. iOS nur: In Ihrem Xcode Projekt Info.plist Datei, ein Schlüssel namens erstellen FirebaseDynamicLinksCustomDomains und setzen Sie ihn auf Ihrer App dynamische Links URL - Präfixe. 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

Für dynamische Links, besonders bewusst Prioritätsordnungs - Hosting .

  • Stellen Sie sicher, dass Ihr URL-Präfix für dynamische Links nicht mit Hosting-Konfigurationen mit höherer Priorität kollidiert (z. B. hat gehosteter statischer Inhalt immer Vorrang vor Neuschreibungen).
  • Im rewrites Attribut wird die Hosting Antwort der Regel gehorchen bestimmten von der ersten source 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 statt dem Dynamic Link. Und falls Sie statische Inhalte zu haben your-domain / source-path / link-suffix , wird der Endanwender den statischen Inhalt sehen statt dem Dynamic Link.

Wenn Sie für Dynamic Links und Hosting dasselbe Branding verwenden möchten, ziehen Sie eine der folgenden Optionen für Ihr Dynamic Links URL-Präfix in Betracht:

  • Legen Sie Ihre source - Attribut einen Pfad Präfix übereinstimmen. Zum Beispiel, wenn Sie eine benutzerdefinierte Domäne von haben example.com könnte Ihre Rewrite - Regel sein:

    // 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. Zum Beispiel, wenn Sie eine Sub - Domain von haben links.example.com , könnte Ihre Rewrite - Regel sein:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]