Benutzerdefinierte Domain für Dynamic Links einrichten

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:

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

  2. Öffnen Sie die Dynamic Links Seite der Firebase Konsole.

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

  4. Nur iOS: Erstellen Sie in der Datei Info.plist Ihres Xcode-Projekts einen Schlüssel mit dem Namen FirebaseDynamicLinksCustomDomains und 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:

  1. Verbinden Sie Ihre Domain mit Firebase Hosting falls noch nicht geschehen.

    Beim Einrichten Ihrer Domain mit Firebase Hosting wird die Konfigurationsdatei firebase.json in Ihrem lokalen Projektverzeichnis erstellt.

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

  3. Konfigurieren Sie Ihre Hosting Website für Dynamic Links in der Datei firebase.json Ihres Projekts. Wenn Ihr Projekt mehrere Websites hat, konfigurieren Sie die Website, die mit der Domain 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 Dynamic Links verwenden möchten, indem Sie Umschreiberegeln festlegen, bei denen dynamicLinks auf true gesetzt 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

  4. Stellen Sie Ihre Hosting Konfigurationsänderungen bereit:

    firebase deploy --only hosting

    (Optional) Sie können die bereitgestellten firebase.json Inhalte mit der Hosting REST API prüfen.

  5. Nur iOS: Erstellen Sie in der Datei Info.plist Ihres Xcode-Projekts einen Schlüssel mit dem Namen FirebaseDynamicLinksCustomDomains und 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 rewrites wird in der Hosting Antwort die Regel befolgt , die durch den ersten source Glob 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 source so fest, dass es einem Pfadpräfix entspricht. Wenn Sie beispielsweise eine benutzerdefinierte Domain example.com haben, 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 source so fest, dass es dieser Subdomain entspricht. Wenn Sie beispielsweise eine Subdomain links.example.com haben, könnte Ihre Umschreiberegel so aussehen:

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