Możesz mieć większą kontrolę nad brandingiem Dynamic Links, używając własnej domeny zamiast subdomeny page.link
. Dzięki domenom niestandardowym możesz tworzyć adresy URL, takie jak w tych przykładach:Dynamic Links
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
Część adresu URL przed link-suffix to prefiks URL, który zawiera zarówno Twoją niestandardową domenę Dynamic Link, jak i prefiks ścieżki. Podczas tworzenia usługi Dynamic Links musisz podać prefiks URL.
Skonfigurowanie domeny niestandardowej wymaga uprawnień Edytujący lub Właściciel w projekcie Firebase.
Używanie domeny internetowej w usłudze Dynamic Links
Możesz używać tej samej domeny w przypadku Dynamic Links i stron internetowych, linków uniwersalnych oraz linków do aplikacji, ale musisz wtedy zadbać o to, aby adresy URL Dynamic Links nie powodowały konfliktów z adresami URL stron internetowych. Gdy skonfigurujesz Dynamic Links tak, aby używać określonego prefiksu adresu URL, wszystkie adresy URL zaczynające się od tego prefiksu będą traktowane jako Dynamic Links, więc nie możesz używać adresów URL z tym prefiksem do wskazywania zwykłych treści hostowanych.Dynamic Link
Jeśli np. chcesz utworzyć Dynamic Link do zasobuhttps://example.com/my-resource
(strony internetowej, uniwersalnego linku lub linku aplikacji), nie możesz użyć https://example.com/
jako prefiksu adresu URL Dynamic Links, ponieważ spowoduje to, że https://example.com/my-resource
będzie traktowany jako Dynamic Link.
Zamiast tego musisz użyć prefiksu adresu URL z inną domeną lub innym prefiksem ścieżki.
Dlatego ten długi adres URL Dynamic Links (i odpowiednie krótkie linki) nie będzie działać zgodnie z oczekiwaniami, ponieważ adresy URL określone przez parametr link
zaczynają się od prefiksu adresu URL Dynamic Link, https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Jednak te długie adresy URL Dynamic Links (i odpowiednie krótkie linki) mogą działać, ponieważ prefiksy adresów URL nie kolidują z adresami URL link
:
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
Konfigurowanie domeny niestandardowej w konsoli Firebase
Domenę niestandardową możesz zwykle skonfigurować w całości w Firebase konsoli. Aby to zrobić:
Jeśli nie masz skonfigurowanej usługi Firebase Hosting w swoim projekcie, otwórz stronę Hosting w konsoli Firebase, kliknij Rozpocznij i postępuj zgodnie z instrukcjami konfiguracji. Nie musisz teraz wykonywać wskazanych czynności.
Otwórz Dynamic Links stronę w konsoli Firebase.
Jeśli nie korzystasz jeszcze z Dynamic Links, kliknij Rozpocznij. W przeciwnym razie w menu kliknij Dodaj prefiks adresu URL.
Następnie wykonaj czynności w kreatorze konfiguracji, podając domenę i prefiks ścieżki, których chcesz używać.
.Tylko iOS: w pliku
Info.plist
projektu Xcode utwórz klucz o nazwieFirebaseDynamicLinksCustomDomains
i ustaw dla niego prefiksy URL Dynamic Links aplikacji. Przykład:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Ręczne konfigurowanie domeny niestandardowej
W niektórych sytuacjach, np. gdy masz już skonfigurowaną domenę niestandardową dla Dynamic Links i chcesz dodać kolejną domenę lub gdy dodajesz domenę już połączoną z witryną Hosting, musisz skonfigurować domenę niestandardową ręcznie.
Aby to zrobić:
Połącz domenę z Firebase Hosting, chyba że masz to już za sobą.
Konfigurowanie domeny za pomocą Firebase Hosting obejmuje utworzenie pliku konfiguracji
firebase.json
w lokalnym katalogu projektu.Zaktualizuj interfejs Firebase CLI do najnowszej wersji (6.5.0 lub nowszej).
Skonfiguruj witrynę Hosting pod kątem Dynamic Links w pliku
firebase.json
projektu. Jeśli Twój projekt ma wiele witryn, skonfiguruj witrynę połączoną z domeną, której chcesz używać.Ustaw wartość
appAssociation
naAUTO
. Dzięki temu ustawieniu Hostingdynamicznie generujeassetlinks.json
iapple-app-site-association
plikiHosting, gdy są one potrzebne.Określ prefiksy ścieżek, których chcesz używać w przypadku Dynamic Links, ustawiając reguły przepisywania z parametrem
dynamicLinks
ustawionym natrue
. Żądania kierowane do tych ścieżek są przekazywane do Dynamic Links.W przeciwieństwie do reguł, które przepisują ścieżki na adresy URL, reguły przepisywania Dynamic Link nie mogą zawierać wyrażeń regularnych.
Jeśli masz kilka reguł przepisywania dla swojej witryny, pamiętaj, żeHosting wykonuje pierwszą regułę przepisywania, która pasuje do żądania.
Przykład:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Przy powyższej konfiguracji możesz utworzyć Dynamic Links z prefiksami adresów URL, takimi jak w tych przykładach:
.https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Jeśli używasz tej domeny tylko w przypadku Dynamic Links, możesz użyć ścieżki źródłowej
/**
, aby utworzyć Dynamic Links bez prefiksu ścieżki:{ "source": "/**", "dynamicLinks": true }
Korzystając z powyższej reguły, możesz utworzyć Dynamic Links, np. taką jak w tym przykładzie:
https://your-domain/link-suffix
Wdróż Hosting zmiany konfiguracji:
firebase deploy --only hosting
(Opcjonalnie) Możesz sprawdzić wdrożoną treść
firebase.json
za pomocą Hosting interfejsu API REST.Tylko iOS: w pliku
Info.plist
projektu Xcode utwórz klucz o nazwieFirebaseDynamicLinksCustomDomains
i ustaw dla niego prefiksy URL Dynamic Links aplikacji. Przykład:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Kolejność priorytetów dla Dynamic Links i Hosting
W przypadku Dynamic Links zwróć szczególną uwagę na kolejność priorytetów hostingu.
- Upewnij się, że prefiks adresu URL Dynamic Links nie powoduje konfliktu z konfiguracjami hostingu o wyższym priorytecie (np. hostowane treści statyczne zawsze mają wyższy priorytet niż przekierowania).
- W atrybucie
rewrites
odpowiedź Hosting będzie zgodna z regułą określoną przez pierwszysource
wzorzec glob, który przechwytuje żądaną ścieżkę.
Jeśli na przykład skonfigurujesz Dynamic Link dla
your-domain/source-path/link-suffix
, ale masz też treści statyczne pod adresem
your-domain/source-path/index.html
, treści statyczne mają pierwszeństwo. Użytkownik zobaczy znak index.html
zamiast znaku Dynamic Link. Podobnie jeśli masz treści statyczne w domenie your-domain/source-path/link-suffix
, użytkownik końcowy zobaczy treści statyczne, a nie Dynamic Link.
Jeśli chcesz używać tej samej marki w przypadku Dynamic Links i Hosting, rozważ jedną z tych opcji prefiksu adresu URL Dynamic Links:
Ustaw atrybut
source
tak, aby pasował do prefiksu ścieżki. Jeśli na przykład masz domenę niestandardowąexample.com
, reguła przepisywania może wyglądać tak:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Skonfiguruj subdomenę do użycia w przypadku Dynamic Links, a następnie ustaw atrybut
source
tak, aby pasował do tej subdomeny. Jeśli na przykład masz subdomenęlinks.example.com
, reguła przekierowania może wyglądać tak:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]