Catch up on highlights from Firebase at Google I/O 2023. Learn more

Richten Sie eine benutzerdefinierte Domain für dynamische Links ein

Sie können das Branding Ihrer dynamischen Links besser 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 link-suffix wird als URL-Präfix bezeichnet und enthält sowohl Ihre benutzerdefinierte Domäne für dynamische Links als auch ein Pfadpräfix. Sie müssen ein URL-Präfix angeben, wenn Sie dynamische Links erstellen.

Zum Einrichten einer benutzerdefinierten Domain ist die Berechtigung eines Bearbeiters oder Eigentümers für Ihr Firebase-Projekt erforderlich.

Verwendung 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, aber wenn Sie dies 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äfix 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öhnliche gehostete Inhalte 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 würde. Stattdessen müssen Sie ein URL-Präfix entweder mit einer anderen Domäne oder einem anderen Pfadpräfix verwenden.

Die folgenden dynamischen Links in Langform (und entsprechende Kurzlinks) funktionieren also nicht wie beabsichtigt, da die durch den link angegebenen URLs mit dem URL-Präfix für dynamische Links beginnen, 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 Links in Langform (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. Dazu:

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

  2. Öffnen Sie die Seite „Dynamische Links“ der Firebase-Konsole.

  3. Wenn Sie dynamische Links noch nicht verwendet haben, klicken Sie auf Erste Schritte . Klicken Sie andernfalls im Dropdown-Menü auf URL-Präfix hinzufügen .

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

  4. Nur iOS : Erstellen Sie in der Info.plist Datei Ihres Xcode-Projekts einen Schlüssel namens FirebaseDynamicLinksCustomDomains und legen Sie ihn auf die URL-Präfixe für dynamische Links Ihrer App fest. Zum Beispiel:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

Richten Sie eine benutzerdefinierte Domäne 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 bereits mit einer Hosting-Site verbundene Domäne hinzufügen, müssen Sie Ihre benutzerdefinierte Domäne manuell einrichten.

Dazu:

  1. Verbinden Sie Ihre Domain mit Firebase Hosting, falls Sie dies noch nicht getan haben.

    Das Einrichten Ihrer Domäne mit Firebase Hosting umfasst das Erstellen der Konfigurationsdatei firebase.json in Ihrem lokalen Projektverzeichnis.

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

  3. Konfigurieren Sie Ihre Hosting-Site für dynamische Links in der firebase.json Datei Ihres Projekts. Wenn Ihr Projekt mehrere Sites hat, stellen Sie sicher, dass Sie die Site konfigurieren, die mit der Domäne verbunden ist, die Sie verwenden möchten.

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

    • Geben Sie die Pfadpräfixe an, die Sie für dynamische Links verwenden möchten, indem Sie Umschreibungsregeln festlegen, bei denen dynamicLinks auf true gesetzt ist. Anforderungen an diese Pfade werden an dynamische Links weitergeleitet.

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

      Wenn Sie mehrere Umschreibungsregeln für Ihre Website haben, beachten Sie, dass Hosting die erste Umschreibungsregel 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äfixen wie den folgenden Beispielen erstellen:

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

    Wenn Sie diese Domain nur für dynamische Links verwenden, können Sie einen Quellpfad von /** verwenden, um dynamische Links ohne Pfadpräfix zu erstellen:

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

    Mit der obigen Regel können Sie dynamische Links wie im folgenden Beispiel erstellen:

    https://your-domain/link-suffix

  4. Stellen Sie Ihre Hosting-Konfigurationsänderungen bereit:

    firebase deploy --only hosting

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

  5. Nur iOS : Erstellen Sie in der Info.plist Datei Ihres Xcode-Projekts einen Schlüssel namens FirebaseDynamicLinksCustomDomains und legen Sie ihn auf die URL-Präfixe für dynamische Links Ihrer App fest. 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

Achten Sie bei dynamischen Links besonders auf die Hosting-Prioritätsreihenfolge .

  • Stellen Sie sicher, dass Ihr URL-Präfix für dynamische Links nicht mit Hosting-Konfigurationen mit höherer Priorität in Konflikt steht (z. B. hat gehosteter statischer Inhalt immer Vorrang vor Umschreibungen).
  • Innerhalb des Attributs rewrites folgt die Hosting-Antwort der Regel, die vom ersten source Glob angegeben wird, das den angeforderten Pfad erfasst .

Wenn Sie beispielsweise einen dynamischen Link für your-domain / source-path / link-suffix einrichten, aber auch statische Inhalte unter your-domain / source-path /index.html haben, hat der statische Inhalt Vorrang. Ein Endbenutzer sieht index.html anstelle des dynamischen Links. Wenn Sie über statische Inhalte unter your-domain / source-path / link-suffix verfügen, sieht der Endbenutzer in ähnlicher Weise den statischen Inhalt und nicht den dynamischen Link.

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

  • Stellen Sie Ihr source so ein, dass es mit einem Pfadpräfix übereinstimmt. Wenn Sie beispielsweise eine benutzerdefinierte Domäne von example.com haben, könnte Ihre Umschreibungsregel wie folgt lauten:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Richten Sie eine Subdomain ein, die für dynamische Links verwendet werden soll, und stellen Sie dann Ihr source so ein, dass es mit dieser Subdomain übereinstimmt. Wenn Sie beispielsweise eine Subdomain von links.example.com haben, könnte Ihre Rewrite-Regel lauten:

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