Krótkie i długie linki dynamiczne możesz tworzyć 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 tych przykładach:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Konfiguracja Firebase i pakietu Dynamic Links SDK
Aby tworzyć linki dynamiczne w aplikacji na Androida, musisz uwzględnić pakiet SDK Firebase. Jeśli Twoja aplikacja jest skonfigurowana do otrzymywania linków dynamicznych, te czynności zostały już wykonane i możesz pominąć tę sekcję.
Zainstaluj i zainicjuj pakiety SDK Firebase na potrzeby Flutter, jeśli jeszcze ich nie masz.
Z poziomu głównego katalogu projektu Flutter uruchom to polecenie, by zainstalować wtyczkę Linki dynamiczne:
flutter pub add firebase_dynamic_links
Jeśli tworzysz aplikację na Androida, otwórz stronę Ustawienia projektu w konsoli Firebase i upewnij się, że został określony klucz podpisywania SHA-1. Jeśli korzystasz z linków aplikacji, podaj też klucz SHA-256.
W konsoli Firebase otwórz sekcję Linki dynamiczne.
Jeśli nie masz jeszcze skonfigurowanej domeny dla linków dynamicznych, kliknij przycisk Rozpocznij i postępuj zgodnie z wyświetlanymi instrukcjami.
Jeśli masz już domenę Linki dynamiczne, zanotuj ją. Podczas automatycznego tworzenia linków dynamicznych musisz podać domenę Linków dynamicznych.
Zalecane: w menu „Więcej” (⋮) określ wzorce adresów URL dozwolone w Twoich precyzyjnych linkach i linkach zastępczych. Dzięki temu uniemożliwisz nieautoryzowanym osobom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli.
Tworzenie linku dynamicznego na podstawie parametrów
Aby utworzyć link dynamiczny, utwórz nowy obiekt DynamicLinkParameters
i przekaż go do buildLink()
lub buildShortLink()
.
Ten minimalny przykład tworzy długi link dynamiczny do strony https://www.example.com/
, który otwiera się za pomocą ikony com.example.app.android
na Androidzie i aplikacji 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ótki link dynamiczny, przekaż obiekt DynamicLinkParameters
do buildShortLink()
. Do utworzenia krótkiego linku wymagane jest wywołanie sieciowe.
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 linki dynamiczne są generowane z sufiksami o długości zaledwie kilku znaków. Dzięki temu linki są bardziej kompaktowe, ale można też odgadnąć prawidłowy krótki link. Często nie ma w tym nic wspólnego, bo link prowadzi do informacji publicznych.
Jeśli jednak krótkie linki prowadzą do informacji związanych z użytkownikami, zalecamy tworzenie dłuższych linków z sufiksami 17-znakowymi, aby uniemożliwić odgadnięcie prawidłowego linku dynamicznego. Aby to zrobić, przekaż ShortDynamicLinkType.unguessable
do metody buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parametry linku dynamicznego
Za pomocą interfejsu Dynamic Link Builder API możesz tworzyć linki dynamiczne za pomocą dowolnych obsługiwanych parametrów. Zobacz dokumentację API.
Poniższy przykład pokazuje utworzenie linku dynamicznego z kilkoma wspólnymi 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 linku dynamicznego możesz ustawić za pomocą tych metod:
Parametry DynamicLink | |
---|---|
setLink | Link, który otworzy się Twoja aplikacja. Określ adres URL, który może obsługiwać Twoja aplikacja (zwykle jest to zawartość lub ładunek aplikacji), który inicjuje logikę związaną z tą aplikacją (np. przyznaj użytkownikowi kupon lub wyświetli ekran powitalny). Ten link musi być prawidłowo sformatowanym adresem URL, mieć prawidłowo zakodowany adres URL, używać protokołu HTTP lub HTTPS i nie może być kolejnym linkiem dynamicznym. |
setDomainUriPrefix, | Prefiks adresu URL linku dynamicznego, który możesz znaleźć w konsoli Firebase. Domena linku dynamicznego wygląda jak w tych przykładach:
https://example.com/link https://example.page.link |
Parametry Androida | |
---|---|
setFallbackUrl | Link do otwarcia, gdy aplikacja nie jest zainstalowana. Wybierz to ustawienie, jeśli chcesz, by aplikacja nie była instalowana ze Sklepu Play. Może to być na przykład otwieranie wersji treści w przeglądarce mobilnej lub wyświetlanie strony promocyjnej aplikacji. |
ustaw minimalną wersję | Wartość versionCode minimalnej wersji aplikacji, która może otworzyć link. Jeśli zainstalowana jest starsza wersja aplikacji, użytkownik zostanie przekierowany do Sklepu Play, aby ją uaktualnić. |
Parametry IOS | |
---|---|
setAppStoreId | Identyfikator App Store Twojej aplikacji używany do kierowania użytkowników do App Store, gdy aplikacja nie jest zainstalowana |
setFallbackUrl | Link do otwarcia, gdy aplikacja nie jest zainstalowana. Wybierz to ustawienie, jeśli chcesz, by aplikacja nie była zainstalowana z App Store. Może to być na przykład otwarcie wersji aplikacji w przeglądarce mobilnej lub wyświetlenie strony promocyjnej aplikacji. |
setCustomScheme | Schemat niestandardowego adresu URL aplikacji, jeśli został zdefiniowany jako inny niż identyfikator pakietu aplikacji |
setIpadFallbackUrl. | Link do otwierania się na iPadzie, gdy aplikacja nie jest zainstalowana. Wybierz to ustawienie, jeśli aplikacja nie jest zainstalowana z App Store. Może to być na przykład otwarcie internetowej wersji treści lub wyświetlenie strony promocyjnej aplikacji. |
Identyfikator zestawuIpadBundle | Identyfikator pakietu aplikacji na iOS, którego chcesz użyć na iPadzie do otwarcia linku. Aplikację należy połączyć z projektem na stronie Przegląd w konsoli Firebase. |
ustaw minimalną wersję | Numer minimalnej wersji aplikacji, która może otworzyć link. Ta flaga jest przekazywana do aplikacji po otwarciu i musi zdecydować, co z nią zrobić. |
Parametry nawigacji | |
---|---|
setForcedRedirectEnabled | Jeśli ustawisz wartość „1”, pomiń stronę podglądu aplikacji po otwarciu linku dynamicznego i przekieruj ją do aplikacji lub sklepu. Strona podglądu aplikacji (domyślnie włączona) może bardziej niezawodnie kierować użytkowników do najbardziej odpowiednich miejsc docelowych, gdy otwierają linki dynamiczne w aplikacjach. Jeśli jednak oczekujesz, że link dynamiczny będzie się otwierał tylko w aplikacjach, które mogą prawidłowo otwierać linki dynamiczne bez tej strony, możesz go wyłączyć za pomocą tego parametru. Ten parametr będzie miał wpływ na działanie linku dynamicznego tylko w systemie iOS. |
SocialMetaTagParameters | |
---|---|
setTitle | Tytuł używany, gdy link dynamiczny jest udostępniany w poście w mediach społecznościowych. |
ustawOpis | Opis używany, gdy link dynamiczny jest udostępniany w poście w mediach społecznościowych. |
setImageUrl | Adres URL obrazu powiązanego z tym linkiem. Obraz powinien mieć wymiary przynajmniej 300 × 200 pikseli i rozmiar mniejszy niż 300 KB. |
Parametry GoogleAnalytics | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Parametry analityczne Google Play. Te parametry (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) są przekazywane do Sklepu Play oraz dołączane do ładunku linku. |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setaffiliateToken setCampaignToken |
Parametry analityczne iTunes Connect. Te parametry („pt”, „at”, „ct”) są przekazywane do App Store. |