Puoi avere un maggiore controllo sul branding del tuo Dynamic Links utilizzando un tuo dominio anziché un sottodominio page.link
. Con i domini personalizzati, puoi creare
Dynamic Links come nei seguenti esempi:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
La parte dell'URL che precede link-suffix è chiamata prefisso URL e contiene sia il tuo dominio Dynamic Link personalizzato sia un prefisso del percorso. Devi fornire un prefisso URL quando crei Dynamic Links.
La configurazione di un dominio personalizzato richiede l'autorizzazione Editor o Proprietario per il tuo progetto Firebase.
Utilizzare il dominio web per Dynamic Links
Puoi utilizzare lo stesso dominio per Dynamic Links e per le tue pagine web, i link universali e i link app, ma se lo fai, devi assicurarti che gli URL Dynamic Link non siano in conflitto con gli URL web. Quando configuri Dynamic Links per utilizzare un prefisso URL specifico, tutti gli URL che iniziano con quel prefisso vengono trattati come Dynamic Links, quindi non puoi utilizzare URL con quel prefisso per indirizzare a contenuti ospitati ordinari.
Ad esempio, se vuoi creare un Dynamic Link alla risorsa
https://example.com/my-resource
(una pagina web, un link universale o un link alle app), non puoi utilizzare https://example.com/
come prefisso dell'URL Dynamic Links, perché in questo modo https://example.com/my-resource
verrebbe trattato come un Dynamic Link.
Devi invece utilizzare un prefisso URL con un dominio diverso o un prefisso
del percorso diverso.
Pertanto, il seguente Dynamic Links in formato lungo (e i link brevi equivalenti) non funzionerà come previsto perché gli URL specificati dal parametro link
iniziano con il prefisso 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
Tuttavia, i seguenti Dynamic Links in formato lungo (e i relativi link brevi) possono funzionare,
perché i prefissi degli URL non sono in conflitto con gli 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
Configurare un dominio personalizzato nella console Firebase
In genere, puoi configurare un dominio personalizzato completamente nella console Firebase. Per farlo:
Se non hai configurato Firebase Hosting per il tuo progetto, apri la pagina Hosting della console Firebase, fai clic su Inizia e segui le istruzioni di configurazione. Al momento non devi completare i passaggi indicati.
Apri la pagina Dynamic Links della console Firebase.
Se non hai mai utilizzato Dynamic Links, fai clic su Inizia. In caso contrario, fai clic su Aggiungi prefisso URL dal menu a discesa.
Poi, completa la configurazione guidata, specificando il dominio e il prefisso del percorso che vuoi utilizzare quando ti viene richiesto.
Solo iOS: nel file
Info.plist
del progetto Xcode, crea una chiave chiamataFirebaseDynamicLinksCustomDomains
e impostala sui prefissi URL Dynamic Links della tua app. Ad esempio:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Configurare manualmente un dominio personalizzato
In alcune situazioni, ad esempio quando hai già configurato un dominio personalizzato per Dynamic Links e vuoi aggiungere un altro dominio o quando aggiungi un dominio già collegato a un sito Hosting, devi configurare manualmente il dominio personalizzato.
Per farlo:
Collega il tuo dominio a Firebase Hosting se non l'hai ancora fatto.
La configurazione del dominio con Firebase Hosting include la creazione del file di configurazione
firebase.json
nella directory del progetto locale.Esegui l'aggiornamento all'ultima versione della CLI Firebase (v6.5.0 o versioni successive).
Configura il sito Hosting per Dynamic Links nel file
firebase.json
del progetto. Se il tuo progetto ha più siti, assicurati di configurare il sito collegato al dominio che vuoi utilizzare.Imposta
appAssociation
suAUTO
. Con questa impostazione, Hosting genera dinamicamente i fileassetlinks.json
eapple-app-site-association
quando vengono richiesti.Specifica i prefissi del percorso che vuoi utilizzare per Dynamic Links impostando le regole di riscrittura con
dynamicLinks
impostato sutrue
. Le richieste a questi percorsi vengono inoltrate tramite proxy a Dynamic Links.A differenza delle regole che riscrivono i percorsi negli URL, le regole di riscrittura Dynamic Link non possono contenere espressioni regolari.
Se hai più regole di riscrittura per il tuo sito, tieni presente che Hosting esegue la prima regola di riscrittura che corrisponde alla richiesta.
Ad esempio:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Con la configurazione precedente, puoi creare Dynamic Links con prefissi URL come i seguenti esempi:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Se utilizzi questo dominio solo per Dynamic Links, puoi utilizzare un percorso di origine
/**
per creare Dynamic Links senza prefisso del percorso:{ "source": "/**", "dynamicLinks": true }
Con la regola precedente, puoi creare Dynamic Links come nel seguente esempio:
https://your-domain/link-suffix
Esegui il deployment delle modifiche alla configurazione di Hosting:
firebase deploy --only hosting
(facoltativo) Puoi controllare i contenuti
firebase.json
di cui è stato eseguito il deployment utilizzando l'API REST Hosting.Solo iOS: nel file
Info.plist
del progetto Xcode, crea una chiave chiamataFirebaseDynamicLinksCustomDomains
e impostala sui prefissi URL Dynamic Links della tua app. Ad esempio:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Ordine di priorità per Dynamic Links e Hosting
Per Dynamic Links, presta particolare attenzione all'ordine di priorità dell'hosting.
- Assicurati che il prefisso URL Dynamic Links non sia in conflitto con le configurazioni di hosting con priorità più elevata (ad esempio, i contenuti statici ospitati hanno sempre la priorità rispetto alle riscritture).
- All'interno dell'attributo
rewrites
, la risposta Hosting rispetterà la regola specificata dal primo globsource
che acquisisce il percorso richiesto.
Ad esempio, se configuri un Dynamic Link per
your-domain/source-path/link-suffix
ma hai anche contenuti statici all'indirizzo
your-domain/source-path/index.html
, i
contenuti statici hanno la precedenza. Un utente finale vedrà index.html
anziché
Dynamic Link. Allo stesso modo, se hai contenuti statici all'indirizzo
your-domain/source-path/link-suffix
,
l'utente finale vedrà i contenuti statici anziché Dynamic Link.
Se vuoi utilizzare lo stesso branding sia per Dynamic Links che per Hosting, valuta una delle seguenti opzioni per il prefisso URL di Dynamic Links:
Imposta l'attributo
source
in modo che corrisponda a un prefisso del percorso. Ad esempio, se hai un dominio personalizzatoexample.com
, la regola di riscrittura potrebbe essere:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Configura un sottodominio da utilizzare per Dynamic Links, quindi imposta l'attributo
source
in modo che corrisponda a quel sottodominio. Ad esempio, se hai un sottodominio dilinks.example.com
, la regola di riscrittura potrebbe essere:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]