Benutzerdefinierte Domain für Dynamic Links einrichten

Sie können die Marke Ihrer Dynamic Links besser kontrollieren, indem Sie Ihre eigene Domain anstelle einer page.link-Subdomain 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. Beim Erstellen von Dynamic Links müssen Sie ein URL-Präfix angeben.

Zum Einrichten einer benutzerdefinierten Domain benötigen Sie die Berechtigung „Bearbeiter“ oder „Inhaber“ für Ihr Firebase-Projekt.

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 geraten. Wenn Sie Dynamic Links für die Verwendung eines bestimmten URL-Präfixes konfigurieren, 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 für die 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 würde. Stattdessen müssen Sie ein URL-Präfix mit einer anderen Domain oder einem anderen Pfadpräfix verwenden.

Die folgenden Langform-URLs Dynamic Links (und entsprechenden Kurzlinks) funktionieren nicht wie vorgesehen, da die mit dem Parameter link angegebenen URLs mit dem URL-Präfix Dynamic Link, 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 Langform-Dynamic Links-Links (und 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

Normalerweise können Sie eine benutzerdefinierte Domain vollständig in der Firebase-Konsole einrichten. So gehts:

  1. Wenn Sie Firebase Hosting für Ihr Projekt noch nicht eingerichtet haben, öffnen Sie die Seite Hosting der Firebase-Konsole, klicken Sie auf Erste Schritte und folgen Sie der Anleitung zur Einrichtung. Sie müssen die angegebenen Schritte jetzt noch nicht ausführen.

  2. Öffnen Sie die Seite Dynamic Links 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.

    Führen Sie dann den Einrichtungsassistenten aus und geben Sie die Domain und das Pfadpräfix an, die Sie verwenden möchten, wenn Sie dazu aufgefordert werden.

    ein Pfadpräfix (z. B. beispiel.de/links) oder eine Subdomain (links.beispiel.de/) verwenden.
  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 verknüpft ist, müssen Sie Ihre benutzerdefinierte Domain manuell einrichten.

Anleitung:

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

    Wenn Sie Ihre Domain mit Firebase Hosting einrichten, müssen Sie die Konfigurationsdatei firebase.json in Ihrem lokalen Projektverzeichnis erstellen.

  2. Aktualisieren Sie auf die neueste Version der Firebase-Befehlszeile (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, müssen Sie die Website konfigurieren, die mit der Domain verbunden ist, die Sie verwenden möchten.

    • Setzen Sie appAssociation auf AUTO. 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 Rewrite-Regeln mit dynamicLinks auf true festlegen. Anfragen an diese Pfade werden an Dynamic Links weitergeleitet.

      Im Gegensatz zu Regeln, mit denen Pfade in URLs umgeschrieben werden, dürfen Dynamic Link-Umschreibungsregeln keine regulären Ausdrücke enthalten.

      Wenn Sie mehrere Regeln zum Überschreiben für Ihre Website haben, wird von Hosting die erste Regel zum Überschreiben ausgeführt, die mit der Anfrage übereinstimmt.

    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
    

    ein Pfadpräfix (z. B. beispiel.de/links) oder eine Subdomain (links.beispiel.de/) verwenden.

    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 die Konfigurationsänderungen für Hosting 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

Achten Sie bei Dynamic Links besonders auf die Prioritätsreihenfolge für das Hosting.

  • Achten Sie darauf, dass Ihr Dynamic Links-URL-Präfix nicht mit Hostingkonfigurationen mit höherer Priorität in Konflikt steht. Gehostete statische Inhalte haben beispielsweise immer Vorrang vor Rewrites.
  • Innerhalb des Attributs rewrites folgt die Hosting-Antwort der Regel, die durch das erste source-Glob-Muster angegeben wird, das den angeforderten Pfad erfasst.

Wenn Sie beispielsweise eine Dynamic Link für your-domain/source-path/link-suffix einrichten, aber auch statische Inhalte unter your-domain/source-path/index.html haben, haben die statischen Inhalte Vorrang. Endnutzer sehen index.html statt Dynamic Link. Wenn Sie beispielsweise statische Inhalte unter your-domain/source-path/link-suffix haben, sieht der Endnutzer die statischen Inhalte anstelle von Dynamic Link.

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

  • Legen Sie das Attribut source so fest, dass es mit einem Pfadpräfix übereinstimmt. Wenn Sie beispielsweise die benutzerdefinierte Domain example.com haben, könnte Ihre Rewrite-Regel 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 mit dieser Subdomain übereinstimmt. Wenn Sie beispielsweise eine Subdomain von links.example.com haben, könnte Ihre Rewrite-Regel so aussehen:

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