Możesz tworzyć krótkie lub długie linki dynamiczne za pomocą interfejsu Firebase Dynamic Links Builder API. Ten interfejs API akceptuje długi link dynamiczny lub obiekt zawierający parametry linku dynamicznego i zwraca adresy URL, takie jak w poniższych przykładach:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Skonfiguruj Firebase i pakiet Dynamic Links SDK
Aby móc tworzyć linki dynamiczne w aplikacji na Androida, musisz dołączyć pakiet Firebase SDK. Jeśli Twoja aplikacja jest skonfigurowana do odbierania linków dynamicznych, te kroki zostały już wykonane i możesz pominąć tę sekcję.
Zainstaluj i zainicjuj zestawy SDK Firebase dla Flutter, jeśli jeszcze tego nie zrobiłeś.
W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Dynamic Links:
flutter pub add firebase_dynamic_links
Jeśli tworzysz aplikację na Androida, otwórz stronę Ustawienia projektu w konsoli Firebase i upewnij się, że podałeś klucz podpisywania SHA-1. Jeśli korzystasz z linków do aplikacji, podaj również swój klucz SHA-256.
W konsoli Firebase otwórz sekcję Linki dynamiczne .
Jeśli nie masz jeszcze skonfigurowanej domeny dla swoich Linków dynamicznych, kliknij przycisk Rozpocznij i postępuj zgodnie z instrukcjami.
Jeśli masz już domenę z linkami dynamicznymi, zanotuj to. Podczas programowego tworzenia linków dynamicznych musisz podać domenę linków dynamicznych.
Zalecane : w menu „Więcej” (⋮) określ wzorce adresów URL dozwolone w precyzyjnych linkach i linkach zastępczych. W ten sposób uniemożliwiasz nieupoważnionym stronom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli.
Utwórz łącze dynamiczne z parametrów
Aby utworzyć łącze dynamiczne, utwórz nowy obiekt DynamicLinkParameters
i przekaż go do buildLink()
lub buildShortLink()
.
Poniższy minimalny przykład tworzy długi link dynamiczny do https://www.example.com/
, który otwiera się za pomocą com.example.app.android
na Androida i com.example.app.ios
na 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);
Aby utworzyć krótkie łącze dynamiczne, przekaż obiekt DynamicLinkParameters
do buildShortLink()
. Zbudowanie krótkiego łącza wymaga połączenia sieciowego. Na przykład:
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);
Domyślnie krótkie łącza dynamiczne są generowane z przyrostkami o długości zaledwie kilku znaków. Chociaż sprawia to, że linki są bardziej zwarte, wprowadza również możliwość odgadnięcia prawidłowego krótkiego linku. Często nie ma nic złego w tym, że ktoś to zrobi, ponieważ link prowadzi do informacji publicznej.
Jeśli jednak krótkie łącza prowadzą do informacji specyficznych dla użytkownika, należy utworzyć dłuższe łącza z 17-znakowymi sufiksami, które sprawiają, że odgadnięcie prawidłowego łącza dynamicznego jest bardzo mało prawdopodobne. Aby to zrobić, przekaż ShortDynamicLinkType.unguessable
do metody buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parametry łącza dynamicznego
Możesz użyć interfejsu Dynamic Link Builder API do tworzenia linków dynamicznych z dowolnymi obsługiwanymi parametrami. Zobacz informacje o interfejsie API .
Poniższy przykład tworzy łącze dynamiczne z ustawionymi kilkoma typowymi parametrami:
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);
Parametry łącza dynamicznego można ustawić za pomocą następujących metod:
Parametry DynamicLink | |
---|---|
zestawLink | Link, który otworzy Twoja aplikacja. Określ adres URL, który może obsłużyć Twoja aplikacja, zazwyczaj treść lub ładunek aplikacji, który inicjuje logikę specyficzną dla aplikacji (np. przyznanie użytkownikowi kuponu lub wyświetlenie ekranu powitalnego). Ten link musi być dobrze sformatowanym adresem URL, odpowiednio zakodowanym w adresie URL, używać protokołu HTTP lub HTTPS i nie może być innym linkiem dynamicznym. |
setDomainUriPrefix | Prefiks adresu URL linku dynamicznego, który można znaleźć w konsoli Firebase. Domena z linkiem dynamicznym wygląda tak, jak w poniższych przykładach: https://example.com/link https://example.page.link |
Parametry Androida | |
---|---|
setFallbackUrl | Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż zainstalować aplikację ze Sklepu Play, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję internetową treści lub wyświetlić stronę promocyjną swojej aplikacji. |
ustaw wersję minimalną | Kod wersji minimalnej wersji Twojej aplikacji, która może otworzyć łącze. Jeśli zainstalowana aplikacja jest starszą wersją, użytkownik zostanie przeniesiony do Sklepu Play, aby zaktualizować aplikację. |
IosParameters | |
---|---|
ustaw identyfikator AppStore | Identyfikator Twojej aplikacji w App Store, używany do odsyłania użytkowników do App Store, gdy aplikacja nie jest zainstalowana |
setFallbackUrl | Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż zainstalować aplikację ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję internetową zawartości lub wyświetlić stronę promocyjną swojej aplikacji. |
ustaw schemat niestandardowy | Niestandardowy schemat adresu URL Twojej aplikacji, jeśli został zdefiniowany jako coś innego niż identyfikator pakietu Twojej aplikacji |
setIpadFallbackUrl | Łącze do otwierania na iPadach, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż zainstalować aplikację ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć internetową wersję treści lub wyświetlić stronę promocyjną swojej aplikacji. |
setIpadPakietId | Identyfikator pakietu aplikacji na iOS do użycia na iPadzie w celu otwarcia łącza. Aplikacja musi być połączona z projektem na stronie Przegląd konsoli Firebase. |
ustaw wersję minimalną | Numer wersji minimalnej wersji Twojej aplikacji, która umożliwia otwarcie linku. Ta flaga jest przekazywana do aplikacji po jej otwarciu, a aplikacja musi zdecydować, co z nią zrobić. |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | W przypadku ustawienia „1” pomiń stronę podglądu aplikacji po otwarciu łącza dynamicznego i zamiast tego przekieruj do aplikacji lub sklepu. Strona podglądu aplikacji (domyślnie włączona) może bardziej niezawodnie odsyłać użytkowników do najodpowiedniejszego miejsca docelowego, gdy otworzą łącza dynamiczne w aplikacjach; jeśli jednak oczekujesz, że łącze dynamiczne będzie otwierane tylko w aplikacjach, które mogą niezawodnie otwierać łącza dynamiczne bez tej strony, możesz je wyłączyć za pomocą tego parametru. Ten parametr wpłynie na zachowanie łącza dynamicznego tylko w systemie iOS. |
SocialMetaTagParameters | |
---|---|
ustawTytuł | Tytuł używany, gdy łącze dynamiczne jest udostępniane w poście społecznościowym. |
zestaw Opis | Opis, który ma być używany, gdy łącze dynamiczne jest udostępniane w poście społecznościowym. |
ustawImageUrl | Adres URL obrazu powiązanego z tym linkiem. Obraz powinien mieć co najmniej 300 x 200 pikseli i mniej niż 300 KB. |
Parametry GoogleAnalytics | |
---|---|
zestawŹródło zestawŚredni zestawKampania ustawTermin zestawZawartość | Parametry analityczne Google Play. Parametry te (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) są przekazywane do Sklepu Play, a także dołączane do ładunku łącza. |
ItunesConnectAnalyticsParameters | |
---|---|
ustaw token dostawcy ustawAffiliateToken ustawCampaignToken | Parametry analityczne iTunes Connect. Te parametry (`pt`, `at`, `ct`) są przekazywane do App Store. |