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 fizer isso, deverá tomar cuidado para que os URLs dos links dinâmicos não entrem em conflito com os URLs da web. Quando você configura 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, portanto, você não pode usar URLs com esse prefixo para apontar para conteúdo hospedado comum.
Por exemplo, se você quiser criar um link dinâmico para o recurso https://example.com/my-resource
(uma página da web, link universal ou link de aplicativo), não poderá 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 link dinâmico. Em vez disso, você deve usar um prefixo de URL com um domínio diferente ou um prefixo de caminho diferente.
Portanto, os seguintes links dinâmicos de formato longo (e links curtos equivalentes) não funcionarão conforme 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 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
Geralmente, 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 console do Firebase, clique em Primeiros passos e siga as 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 Primeiros passos . 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.
Apenas iOS : no arquivo
Info.plist
do seu projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e defina-a com os prefixos de URL dos 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>
Configure 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 tenha feito isso.
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 projeto.Atualize para a versão mais recente da CLI do Firebase (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 os arquivosassetlinks.json
eapple-app-site-association
quando solicitados.Especifique os prefixos de caminho que você deseja usar para Dynamic Links definindo regras de reescrita com
dynamicLinks
definidos comotrue
. As solicitações para esses caminhos são enviadas por proxy para Dynamic Links.Ao contrário das regras que reescrevem caminhos para URLs, as regras de reescrita do Dynamic Link não podem conter expressões regulares.
Se você tiver várias regras de reescrita para o seu site, saiba que o Hosting executa a primeira regra de reescrita que corresponder à 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 nos exemplos a seguir:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Se você usar esse domínio apenas para links dinâmicos, poderá usar um caminho de origem
/**
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 as alterações na configuração do Hosting:
firebase deploy --only hosting
(opcional) Você pode verificar o conteúdo
firebase.json
implantado usando a API REST do Hosting .Apenas iOS : no arquivo
Info.plist
do seu projeto Xcode, crie uma chave chamadaFirebaseDynamicLinksCustomDomains
e defina-a com os prefixos de URL dos 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 o prefixo do URL do Dynamic Links não entre em conflito com configurações de hospedagem de prioridade mais alta (por exemplo, o conteúdo estático hospedado sempre tem prioridade sobre reescritas).
- Dentro do atributo
rewrites
, a resposta do Hosting obedecerá à regra especificada pelo primeiro globsource
que captura o path solicitado .
Por exemplo, se você configurar um link dinâmico 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
source
para corresponder a um prefixo de caminho. Por exemplo, se você tiver um domínio personalizadoexample.com
, sua regra de reescrita poderia 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 seu atributo
source
para corresponder a esse subdomínio. Por exemplo, se você tiver um subdomíniolinks.example.com
, sua regra de reescrita poderia ser:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]