Richten Sie eine benutzerdefinierte Domäne 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 Dynamic Link-Domäne als auch ein Pfadpräfix. Sie müssen beim Erstellen dynamischer Links ein URL-Präfix angeben.

Zum Einrichten einer benutzerdefinierten Domäne ist die Berechtigung „Editor“ oder „Inhaber“ für Ihr Firebase-Projekt erforderlich.

Verwendung Ihrer Webdomäne für dynamische Links

Sie können dieselbe Domäne für Ihre dynamischen Links und Ihre Webseiten, universellen Links und App-Links verwenden. Wenn Sie dies tun, müssen Sie jedoch 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öhnliche gehostete Inhalte zu verweisen.

Wenn Sie beispielsweise einen dynamischen 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 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.

Daher funktionieren die folgenden langen dynamischen Links (und entsprechende kurze Links) nicht wie beabsichtigt, da die durch den link Parameter 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 in der Firebase-Konsole eine benutzerdefinierte Domäne ein

Normalerweise können Sie eine benutzerdefinierte Domäne vollständig in der Firebase-Konsole einrichten. Gehen Sie dazu wie folgt vor:

  1. Wenn Sie Firebase Hosting für Ihr Projekt nicht eingerichtet haben, öffnen Sie die Hosting-Seite 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“ . Andernfalls klicken Sie im Dropdown-Menü auf URL-Präfix hinzufügen .

    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. 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 manuell eine benutzerdefinierte Domäne ein

In manchen Situationen, beispielsweise 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.

Gehen Sie dazu wie folgt vor:

  1. 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.

  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 Datei firebase.json Ihres Projekts. Wenn Ihr Projekt über mehrere Sites verfügt, 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 die Dateien assetlinks.json und apple-app-site-association wenn sie angefordert werden.

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

      Im Gegensatz zu Regeln, die Pfade zu URLs umschreiben, können Umschreiberegeln 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äfixen wie in 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 den Quellpfad /** 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 Inhalt firebase.json 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. haben gehostete statische Inhalte immer Vorrang vor Umschreibungen).
  • Innerhalb des rewrites Attributs befolgt die Hosting-Antwort die Regel, die vom ersten source Glob angegeben wird, der den angeforderten Pfad erfasst .

Wenn Sie beispielsweise einen dynamischen Link für your-domain / source-path / link-suffix einrichten, aber auch statischen Inhalt unter your-domain / source-path /index.html haben, hat der statische Inhalt Vorrang. Ein Endbenutzer sieht index.html anstelle des dynamischen Links. Wenn Sie statischen Inhalt unter your-domain / source-path / link-suffix haben, sieht der Endbenutzer ebenfalls 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 Dynamic Links-URL-Präfix in Betracht:

  • Legen Sie Ihr source so fest, dass es mit einem Pfadpräfix übereinstimmt. Wenn Sie beispielsweise über die benutzerdefinierte Domäne example.com verfügen, könnte 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 Subdomain zur Verwendung für dynamische Links ein und legen Sie dann Ihr source so fest, dass es mit dieser Subdomain übereinstimmt. Wenn Sie beispielsweise eine Subdomain von links.example.com haben, könnte Ihre Rewrite-Regel wie folgt lauten:

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