Tenha mais controle da marca dos seus Dynamic Links usando seu próprio domínio em vez de um subdomínio page.link
. Com domínios personalizados, é possível criar Dynamic Links como os 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 de link-suffix é chamada de prefixo de URL e contém seu domínio de Dynamic Link personalizado e um prefixo de caminho. Você vai precisar fornecer um prefixo de URL ao criar Dynamic Links.
A configuração de um domínio personalizado exige permissão de Editor ou Proprietário no seu projeto do Firebase.
Usando seu domínio da Web para Dynamic Links
É possível usar o mesmo domínio para seus Dynamic Links e páginas da Web, links universais e links de apps. Mas se você fizer isso, será necessário prevenir que os URLs do seu Dynamic Link não entrem em conflito com os URLs da Web. Quando você configura o Dynamic Links para usar um prefixo de URL específico, todos os URLs que começam com esse prefixo são tratados como Dynamic Links. Dessa forma, não é possível usar URLs com esse prefixo para direcionar ao conteúdo hospedado comum.
Por exemplo, se você quiser criar um Dynamic Link para o recurso
https://example.com/my-resource
(uma página da Web, um link universal ou um link de app), não
será possível usar https://example.com/
como o prefixo de URL dos Dynamic Links, porque isso faria
com que https://example.com/my-resource
fosse tratado como um Dynamic Link.
Em vez disso, será necessário usar um prefixo de URL com um domínio diferente ou um prefixo de caminho diferente.
Portanto, os seguintes Dynamic Links de formato longo, bem como os links curtos equivalentes, não funcionarão como pretendido, porque os URLs especificados pelo parâmetro link
começam com o prefixo de URL do Dynamic Link, https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
No entanto, os seguintes Dynamic Links de formato longo, bem como os links curtos equivalentes, podem funcionar, porque os prefixos de URL não entram em conflito com os URLs 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
Configurar um domínio personalizado no Console do Firebase
Geralmente, é possível configurar completamente um domínio personalizado no Console do Firebase. Para fazer isso, siga estas etapas:
Se você não configurou o Firebase Hosting para seu projeto, abra a Página Hosting do console do Firebase. Clique em Primeiros passos e siga as instruções de configuração. Não é necessário concluir as etapas indicadas no momento.
Abra a página Dynamic Links do console do Firebase.
Se você nunca usou o Dynamic Links, 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 de caminho que você quer usar quando for solicitado.
Somente iOS: no arquivo
Info.plist
do projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e faça a configuração dela para os prefixos de URL dos Dynamic Links do app. 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 quer adicionar outro domínio, ou quando você está adicionando um domínio já conectado a um site do Hosting, é necessário configurar seu domínio personalizado manualmente.
Para fazer isso, siga estas etapas:
Conecte seu domínio ao Firebase Hosting, caso ainda não tenha feito isso.
A configuração do domínio com Firebase Hosting inclui a criação do arquivo de configuração
firebase.json
no diretório do projeto local.Atualize para a versão mais recente da CLI do Firebase (6.5.0 ou posterior).
Configure o site Hosting para Dynamic Links no arquivo
firebase.json
do projeto. Caso seu projeto tenha vários sites, configure o site conectado com o domínio que você quer usar.Defina
appAssociation
comoAUTO
. Essa configuração permite que o Hosting gere dinamicamente arquivosassetlinks.json
eapple-app-site-association
quando são solicitados.Especifique os prefixos de caminho que você quer usar para Dynamic Links definindo regras de substituição com
dynamicLinks
definido comotrue
. As solicitações para esses caminhos são encaminhadas por proxy para Dynamic Links.Ao contrário das regras que substituem caminhos por URLs, as regras de substituição de Dynamic Link não podem conter expressões regulares.
Se você tiver várias regras de substituição para seu site, saiba que o Hosting executa a primeira regra de reconfiguração que corresponder à solicitação.
Exemplo:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Com a configuração acima, é possível criar Dynamic Links 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 esse domínio apenas para Dynamic Links, poderá usar um caminho de origem de
/**
para criar Dynamic Links sem prefixo de caminho:{ "source": "/**", "dynamicLinks": true }
Com a regra acima, é possível criar Dynamic Links como o exemplo a seguir:
https://your-domain/link-suffix
Implante as mudanças de configuração de Hosting:
firebase deploy --only hosting
(opcional) É possível verificar o conteúdo do
firebase.json
implantado usando a API REST do Hosting.Somente iOS: no arquivo
Info.plist
do projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e faça a configuração dela para os prefixos de URL dos Dynamic Links do app. Exemplo:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Ordem de prioridade para Dynamic Links e Hosting
Para Dynamic Links, atente-se à ordem de prioridade de hospedagem.
- Verifique se o prefixo de URL de Dynamic Links não está em conflito com configurações de hospedagem de prioridade mais alta, por exemplo, o conteúdo estático hospedado sempre tem prioridade sobre substituições.
- No atributo
rewrites
, a resposta do Hosting obedecerá à regra especificada pelo primeiro globsource
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á prioridade. Um usuário final vai ver index.html
em vez de
Dynamic Link. 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 Dynamic Link.
Se você quiser usar a mesma marca para Dynamic Links e Hosting, considere uma das seguintes opções para o prefixo de URL Dynamic Links:
Defina o atributo
source
para corresponder a um prefixo de caminho. Por exemplo, se você tiver um domínio personalizado deexample.com
, sua regra de substituição poderá ser:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Configure um subdomínio para usar para Dynamic Links e defina o atributo
source
para corresponder a esse subdomínio. Por exemplo, se você tiver um subdomínio delinks.example.com
, a regra de substituição poderá ser:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]