Você pode ter maior controle sobre a marca de seus links dinâmicos usando seu próprio domínio em vez de um subdomínio page.link
. Com domínios personalizados, você pode criar links dinâmicos como nos exemplos a seguir:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
A parte do URL antes link-suffix é chamada de prefixo do URL e contém seu domínio de link dinâmico personalizado e um prefixo de caminho. Você precisará fornecer um prefixo de URL ao criar links dinâmicos.
A configuração de um domínio personalizado requer permissão de Editor ou Proprietário em seu projeto do Firebase.
Usando seu domínio da web para links dinâmicos
Você pode usar o mesmo domínio para seus links dinâmicos e suas páginas da web, links universais e links de aplicativos, mas se o fizer, você deve tomar cuidado para que seus URLs de links dinâmicos não entrem em conflito com seus URLs da web. Quando você configura links dinâmicos para usar um determinado prefixo de URL, todos os URLs que começam com esse prefixo são tratados como links dinâmicos, portanto, você não pode usar URLs com esse prefixo para apontar para conteúdo hospedado comum.
Por exemplo, se você deseja criar um link dinâmico para o recurso https://example.com/my-resource
(uma página da Web, link universal ou link do aplicativo), não pode usar https://example.com/
como o prefixo de URL do Dynamic Links, porque isso faria com que https://example.com/my-resource
fosse tratado como um Dynamic Link. Em vez disso, você deve usar um prefixo de URL com um domínio diferente ou um prefixo de caminho diferente.
Portanto, os links dinâmicos de formato longo a seguir (e links curtos equivalentes) não funcionarão conforme o esperado porque os URLs especificados pelo parâmetro link
começam com o prefixo de URL do link dinâmico, https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Mas os seguintes links dinâmicos de formato longo (e links curtos equivalentes) podem funcionar, porque os prefixos de URL não entram em conflito com os URLs de 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
Configure um domínio personalizado no console do Firebase
Normalmente, você pode configurar um domínio personalizado completamente no console do Firebase. Para fazer isso:
Se você não configurou o Firebase Hosting para seu projeto, abra a página Hosting do Firebase console, clique em Get Started e clique nas instruções de configuração. Você não precisa concluir as etapas indicadas neste momento.
Abra a página Dynamic Links do console do Firebase.
Se você nunca usou Dynamic Links antes, clique em Começar . Caso contrário, clique em Adicionar prefixo de URL no menu suspenso.
Em seguida, conclua o assistente de configuração, especificando o domínio e o prefixo do caminho que deseja usar quando solicitado.
Somente iOS : no arquivo
Info.plist
do seu projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e defina-a para os prefixos de URL de links dinâmicos do seu aplicativo. Por exemplo:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Configurar um domínio personalizado manualmente
Em algumas situações, como quando você já tem um domínio personalizado configurado para Dynamic Links e deseja adicionar outro domínio, ou quando está adicionando um domínio já conectado a um site de hospedagem, é necessário configurar seu domínio personalizado manualmente.
Para fazer isso:
Conecte seu domínio ao Firebase Hosting , caso ainda não o tenha feito.
A configuração do seu domínio com o Firebase Hosting inclui a criação do arquivo de configuração
firebase.json
no diretório local do seu projeto.Atualize para a versão mais recente do Firebase CLI (v6.5.0 ou posterior).
Configure seu site de hospedagem para links dinâmicos no arquivo
firebase.json
do seu projeto. Se o seu projeto tiver vários sites, certifique-se de configurar o site conectado ao domínio que deseja usar.Defina
appAssociation
comoAUTO
. Com essa configuração, o Hosting gera dinamicamente osassetlinks.json
eapple-app-site-association
quando solicitados.Especifique os prefixos de caminho que deseja usar para Dynamic Links definindo as regras de reescrita com
dynamicLinks
definido comotrue
. As solicitações para esses caminhos são enviadas por proxy para links dinâmicos.Ao contrário das regras que reescrevem caminhos para URLs, as regras de reescrita de link dinâmico não podem conter expressões regulares.
Se você tiver várias regras de reescrita para seu site, saiba que o Hosting executa a primeira regra de reescrita que corresponda à solicitação.
Por exemplo:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Com a configuração acima, você pode criar links dinâmicos com prefixos de URL como os exemplos a seguir:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Se você usar este domínio apenas para links dinâmicos, poderá usar um caminho de origem de
/**
para criar links dinâmicos sem prefixo de caminho:{ "source": "/**", "dynamicLinks": true }
Com a regra acima, você pode criar links dinâmicos como no exemplo a seguir:
https://your-domain/link-suffix
Implante suas alterações de configuração de hospedagem:
firebase deploy --only hosting
(opcional) Você pode verificar o conteúdo do
firebase.json
implantado usando a API REST de hospedagem .Somente iOS : no arquivo
Info.plist
do seu projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e defina-a para os prefixos de URL de links dinâmicos do seu aplicativo. Por exemplo:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Ordem de prioridade para links dinâmicos e hospedagem
Para links dinâmicos, esteja particularmente atento à ordem de prioridade de hospedagem .
- Certifique-se de que seu prefixo de URL de links dinâmicos não entre em conflito com configurações de hospedagem de prioridade mais alta (por exemplo, conteúdo estático hospedado sempre tem prioridade sobre reescritas).
- Dentro do atributo
rewrites
, a resposta do Hosting obedecerá à regra especificada pelo primeiro glob desource
que captura o caminho solicitado .
Por exemplo, se você configurar um Dynamic Link para your-domain / source-path / link-suffix
mas também tiver conteúdo estático em your-domain / source-path /index.html
, o conteúdo estático terá precedência. Um usuário final verá index.html
em vez do link dinâmico. Da mesma forma, se você tiver conteúdo estático em your-domain / source-path / link-suffix
, o usuário final verá o conteúdo estático em vez do link dinâmico.
Se você quiser usar a mesma marca para links dinâmicos e hospedagem, considere uma das seguintes opções para seu prefixo de URL de links dinâmicos:
Defina seu atributo de
source
para corresponder a um prefixo de caminho. Por exemplo, se você tiver um domínio personalizado deexample.com
, sua regra de reescrita pode ser:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Configure um subdomínio a ser usado para links dinâmicos e, em seguida, defina seu atributo de
source
para corresponder a esse subdomínio. Por exemplo, se você tiver um subdomínio delinks.example.com
, sua regra de reescrita pode ser:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]