Benutzerdefinierte Domain für Dynamic Links einrichten

Du kannst dein Gerät (Dynamic Links) besser kontrollieren durch die Verwendung eigener anstelle einer page.link-Subdomain. Mit benutzerdefinierten Domains können Sie Dynamic Links wie in den folgenden Beispielen:

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. Er enthält sowohl Ihre benutzerdefinierte Dynamic Link-Domain als auch ein Pfadpräfix. Erforderliche Schritte geben Sie beim Erstellen von Dynamic Links ein URL-Präfix an.

Zum Einrichten einer benutzerdefinierten Domain ist die Berechtigung „Bearbeiter“ oder „Inhaber“ in Firebase erforderlich Projekt arbeiten.

Ihre Webdomain für Dynamic Links wird verwendet

Du kannst für deine Dynamic Links und deine Webseiten dieselbe Domain verwenden (Universal) und App-Links. Achten Sie dabei darauf, dass Ihre Dynamic Link-URLs nicht mit Ihren Web-URLs in Konflikt stehen. Wenn Sie Dynamic Links für die Verwendung eines bestimmte URL-Präfixe haben, werden alle URLs, die mit diesem Präfix beginnen, Dynamic Links, daher können Sie URLs mit diesem Präfix nicht verwenden, um auf normale gehostete Inhalte.

Wenn Sie beispielsweise einen Dynamic 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 als Dynamic Links-URL-Präfix verwenden, da https://example.com/my-resource andernfalls 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-Videos im Langformat (und entsprechende Kurzlinks) funktionieren also nicht da die im Parameter link angegebenen URLs mit 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

Die folgenden Dynamic Links-Videos im Langformat (und entsprechende Kurzlinks) können aber 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. Bis Gehen Sie dazu so vor:

  1. Falls Sie Firebase Hosting noch nicht für Ihr Projekt eingerichtet haben, öffnen Sie die Hosting-Seite der Firebase-Konsole auf: Klicken Sie unter Jetzt starten durch die Einrichtungsanleitung. Sie müssen die angegebenen Schritte derzeit 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. Andernfalls klicken Sie auf URL-Präfix hinzufügen aus dem Drop-down-Menü.

    Schließen Sie dann den Einrichtungsassistenten ab und geben Sie die Domain und das Pfadpräfix an, verwenden möchten, wenn Sie dazu aufgefordert werden.

  4. Nur iOS: Erstellen Sie in der Datei Info.plist Ihres Xcode-Projekts einen Schlüssel namens FirebaseDynamicLinksCustomDomains und lege dafür die Dynamic Links-URL deiner App fest Präfixe. 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 und möchten eine weitere Domain hinzufügen oder wenn Sie bereits eine Domain hinzufügen verbunden mit einer Hosting-Website ist, müssen Sie Ihre benutzerdefinierte Domain manuell einrichten.

Anleitung:

  1. Domain mit Firebase Hosting verbinden 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 die Firebase CLI auf die neueste Version (Version 6.5.0 oder höher).

  3. Konfigurieren Sie Ihre Hosting-Website für Dynamic Links in der firebase.json-Datei 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 werden Hosting generiert assetlinks.json und apple-app-site-association dynamisch wenn sie angefordert werden.

    • Geben Sie die Pfadpräfixe an, die Sie für Dynamic Links verwenden möchten, indem Sie das Umschreiben festlegen Regeln mit dynamicLinks auf true festgelegt. Anfragen an diese Pfade werden über einen Proxy an Dynamic Links weitergeleitet.

      Im Gegensatz zu Regeln, die Pfade in URLs umschreiben, Dynamic Link reguläre Ausdrücke enthalten.

      Wenn Sie mehrere Regeln zum Überschreiben für Ihre Website haben, beachten Sie Folgendes: Hosting führt die erste Umschreibungsregel aus, die mit der Anfrage übereinstimmt.

    Beispiel:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    Mit der obigen 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 den Quellpfad /** verwenden um Dynamic Links ohne Pfadpräfix zu erstellen:

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

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

    https://your-domain/link-suffix

  4. Stellen Sie die 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 namens FirebaseDynamicLinksCustomDomains und lege dafür die Dynamic Links-URL deiner App fest Präfixe. 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 des Hostings besonders wichtig.

  • Achten Sie darauf, dass das URL-Präfix Dynamic Links nicht mit einer höheren Priorität in Konflikt steht Hosting-Konfigurationen (z. B. hat gehosteter statischer Inhalt immer Priorität) zu überarbeiten).
  • Im Attribut rewrites befolgt die Antwort Hosting die Regel die durch den ersten source-Glob, der den angeforderten Pfad erfasst, angegeben wird.

Wenn Sie z. B. eine Dynamic Link für your-domain/source-path/link-suffix aber Sie haben auch statische Inhalte your-domain/source-path/index.html, der Statische Inhalte haben Vorrang. Ein Endnutzer sieht index.html anstelle von Dynamic Link. Ähnliches gilt, wenn Sie statische Inhalte your-domain/source-path/link-suffix, sieht der Endnutzer den statischen Inhalt und nicht den Dynamic Link.

Wenn du für Dynamic Links und Hosting dasselbe Branding verwenden möchtest, solltest du eine der folgenden Optionen für das URL-Präfix Dynamic Links:

  • Legen Sie das Attribut source so fest, dass es einem Pfadpräfix entspricht. Wenn Sie zum Beispiel eine benutzerdefinierten Domain von example.com könnte Ihre Regel zum Überschreiben 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 auf mit dieser Subdomain übereinstimmen. Wenn Sie beispielsweise eine Subdomain von links.example.com, könnte Ihre Regel zum Überschreiben so aussehen:

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