Puoi creare link dinamici brevi o lunghi con l'API Firebase Dynamic Links Builder. Questa API accetta un link dinamico lungo o un oggetto contenente link dinamico e restituisce URL come gli esempi riportati di seguito:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Configura Firebase e l'SDK di Dynamic Links
Prima di poter creare link dinamici nella tua app per Android, devi includere il parametro SDK Firebase. Se la tua app è configurata per ricevere link dinamici, hai già hai completato questi passaggi e puoi saltare questa sezione.
Installa e inizializza gli SDK Firebase per Flutter, se non l'hai ancora fatto.
Dalla directory radice del tuo progetto Flutter, esegui questo per installare il plug-in Dynamic Links:
flutter pub add firebase_dynamic_links
Se stai creando un'app per Android, apri le Impostazioni progetto pagina della console Firebase e accertati di aver specificato il tuo SHA-1 chiave di firma. Se utilizzi Link app, specifica anche la chiave SHA-256.
Nella console Firebase, apri la sezione Dynamic Links.
Se non hai ancora configurato un dominio per i tuoi link dinamici, fai clic sul pulsante Inizia e segui le istruzioni.
Se hai già un dominio Dynamic Links, prendine nota. Devi fornire un dominio Dynamic Links quando crei i link dinamici a livello di programmazione.
Consigliato: dalla sezione "Altro" (⋮), specifica l'URL pattern consentiti nei link diretti e nei link di fallback. In questo modo, puoi impedire a parti non autorizzate di creare link dinamici che reindirizzano dal tuo dominio ai siti che non controlli.
Consulta Consentire pattern di URL specifici.
Creare un link dinamico dai parametri
Per creare un link dinamico, crea un nuovo oggetto DynamicLinkParameters
e passalo a buildLink()
o buildShortLink()
.
L'esempio minimo riportato di seguito crea un link dinamico lungo
https://www.example.com/
che si apre con com.example.app.android
su Android
e l'app com.example.app.ios
su iOS:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
Per creare un link dinamico breve, passa l'oggetto DynamicLinkParameters
a
buildShortLink()
. La creazione del link breve richiede una chiamata di rete.
Ad esempio:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Per impostazione predefinita, i link dinamici brevi vengono generati con suffissi di pochi caratteri. Sebbene questo renda le maglie più compatte, introduce anche la possibilità che qualcuno sia in grado di indovinare un link breve valido. Spesso, non c'è nessun male se qualcuno lo fa, perché il link rimanda a informazioni pubbliche.
Tuttavia, se i link brevi portano a informazioni specifiche sull'utente, devi
creare link più lunghi con suffissi di 17 caratteri che rendono molto improbabile che
qualcuno può indovinare un link dinamico valido. Per farlo, passa ShortDynamicLinkType.unguessable
al metodo buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parametri link dinamico
Puoi utilizzare l'API Dynamic Link Builder per creare link dinamici con una qualsiasi delle e i parametri supportati. Consulta il riferimento API.
L'esempio seguente crea un link dinamico con diversi parametri comuni imposta:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Puoi impostare i parametri di Dynamic Link con i seguenti metodi:
Parametri DynamicLink | |
---|---|
impostaLink | Il link che verrà aperto dall'app. Specifica un URL gestibile dall'app. in genere i contenuti o il payload dell'app, che avvia le funzionalità come l'attribuzione all'utente di un coupon o la visualizzazione di un schermata di benvenuto). Questo link deve essere un URL formattato correttamente, Con codifica URL, utilizzano HTTP o HTTPS e non possono essere Collega. |
setDomainUriPrefix | Il prefisso dell'URL del link dinamico, che puoi trovare nella console di Firebase. R
Il dominio del link dinamico ha il seguente aspetto:
https://example.com/link https://example.page.link |
Parametri Android | |
---|---|
setFallbackUrl | Il link da aprire quando l'app non è installata. Specifica cosa fare qualcosa di diverso dall'installazione dell'app dal Play Store, quando l'app non è installato, ad esempio apri la versione web mobile dei contenuti oppure mostrare una pagina promozionale per la tua app. |
setminimumVersion | Il codice versionCode della versione minima dell'app in grado di aprire . Se l'app installata è una versione precedente, l'utente viene indirizzato sul Play Store per eseguire l'upgrade dell'app. |
Parametri Ios | |
---|---|
IDAppStore | L'ID App Store della tua app, utilizzato per indirizzare gli utenti all'App Store quando l'app non è installata |
setFallbackUrl | Il link da aprire quando l'app non è installata. Specifica cosa fare qualcosa di diverso dall'installazione dell'app dall'App Store, quando non è installato, ad esempio apri la versione web mobile dei contenuti oppure mostrare una pagina promozionale per la tua app. |
impostaSchemePersonalizzato | Lo schema URL personalizzato dell'app, se definito come diverso dall'ID gruppo dell'app |
setIpadFallbackUrl | Il link da aprire sugli iPad quando l'app non è installata. Specifica questo: fare qualcosa di diverso da installare l'app dall'App Store quando app non sia installata, ad esempio apri la versione web dei contenuti o mostrare una pagina promozionale per la tua app. |
setIpadBundleId | L'ID pacchetto dell'app per iOS da utilizzare sugli iPad per aprire il link. L'app devono essere collegati al tuo progetto dalla pagina Panoramica del Console Firebase. |
setminimumVersion | Il numero di versione minima della tua app che può aprire il link. Questo flag viene trasmesso alla tua app quando viene aperta e debba decidere cosa farne. |
Parametri NavigationInfo | |
---|---|
setForcedRedirectEnabled | Se impostato su "1", salta la pagina di anteprima dell'app quando il link dinamico è aperta e reindirizza all'app o allo store. La pagina di anteprima dell'app (attivata per impostazione predefinita) può indirizzare in modo più affidabile gli utenti al destinazione appropriata quando aprono Dynamic Links nelle app; ma se prevedi che un link dinamico venga aperto solo nelle app in grado di aprire Dynamic Links in modo affidabile senza questa pagina, puoi disabilitarlo con questo . Questo parametro influisce sul comportamento del link dinamico solo su iOS. |
Parametri SocialMetaTag | |
---|---|
setTitle | Il titolo da utilizzare quando il link dinamico viene condiviso in un post su un social. |
setDescrizione | La descrizione da utilizzare quando il link dinamico viene condiviso in un post su un social. |
setImageUrl | L'URL di un'immagine correlata a questo link. L'immagine deve essere almeno 300 x 200 px e inferiore a 300 kB. |
Parametri GoogleAnalytics | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Parametri di analisi di Google Play. Questi parametri ("utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content") vengono trasmesse al Play Store e aggiunte al payload dei link. |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setaffiliateToken setCampaignToken |
Parametri di analisi di iTunes Connect. Questi parametri ("pt", "at", "ct") vengono passati all'App Store. |